我想在ggplot图中的连续轴上格式化数字.我希望有一个大数字的法语格式,每三位数一个空格(即"20 000"而不是"20000").我知道可以使用format()函数(例如format(20000, scientific=FALSE, big.mark = " "))来完成它,但我不知道如何将此函数与ggplot结合使用.我可以想象有一个选项,scale_y_continuous()但我自己无法找到解决方案.这是我的要点文件.
法国国家研究所(Insee)以MapInfo格式提供地理数据(两个文件.mid和.mif以及一个dbf文件).如何在R中读取这些文件?
这是一个例子.
lubridate软件包中带有选项标签= TRUE的wday()函数以英语返回星期几的名称。我想知道是否可以用另一种语言获取星期几的名称。有什么选择吗?
我在SVG文件中有一张法国地图和法国部门的轮廓.我想导入R中的数据来绘制一个等值区域图.可能吗 ?什么是最好的解决方案?
我对下面3个测试的输出感到困惑:
这个包括一个特殊字符«°»并给出了良好的结果:
sub(pattern = ".*([[:digit:]]{5}).*", replacement = "\\1", x = "A°C 01160")
[1] "01160"
Run Code Online (Sandbox Code Playgroud)
这个包括一个引用,并给出了良好的结果:
sub(pattern = ".*([[:digit:]]{5}).*", replacement = "\\1", x = "01160 'aa")
[1] "01160"
Run Code Online (Sandbox Code Playgroud)
但是这个包括°和引用并返回一个奇怪的结果
sub(pattern = ".*([[:digit:]]{5}).*", replacement = "\\1", x = "A°C 01160 'aa")
[1] "0 'aa"
Run Code Online (Sandbox Code Playgroud)
顺便说一下,如果我给出与向量相同的输入,结果也不一样,我也感到困惑:
sub(pattern = ".*([[:digit:]]{5}).*", replacement = "\\1", x = c("A°C 01160", "01160 'aa", "A°C 01160 'aa"))
[1] "01160" "0 'aa" "0 'aa"
Run Code Online (Sandbox Code Playgroud)
有没有人有线索了解我的问题的根源?
我在Mac OS 10.8上使用法语UTF-8编码选项运行R 3.02:
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] …Run Code Online (Sandbox Code Playgroud) 我想使用XLConnect包在Excel电子表格中阅读这些数字.我的印象是它无法读取使用带有美元符号的公式在Excel中计算的数字.有这个问题的解决方案吗?
我正在尝试编写一个函数,它将数据帧和函数的名称作为参数.当我尝试写与标准的R语法功能,我可以使用取得了良好的效果eval,并substitute在建议报告由@hadley http://adv-r.had.co.nz/Computing-on-the-language.html
> df <- data.frame(y = 1:10)
> f <- function(data, x) {
+ out <- mean(eval(expr = substitute(x), envir = data))
+ return(out)
+ }
> f(data = df, x = y)
[1] 5.5
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试使用%>%运算符编写相同的函数时,它不起作用:
> df <- data.frame(y = 1:10)
> f <- function(data, x) {
+ data %>%
+ eval(expr = substitute(x), envir = .) %>%
+ mean()
+ }
> f(data = df, x = y)
Show Traceback
Rerun …Run Code Online (Sandbox Code Playgroud) 我想将矢量导出到每个值之间带逗号的文件.我试过用paste它sep = ","但它不起作用.有谁知道为什么?
> x <- rnorm(10)
> paste(x, sep = ",")
[1] "-1.08574649988891" "2.9580381152357" "-0.549880906960338" "1.79794352588269" "-1.06316832291584" "-1.56636513327118" "0.363867572492577"
[8] "-0.644707355221403" "0.617827074223129" "-1.50892267338431"
Run Code Online (Sandbox Code Playgroud) 我有一个非常大的dBase文件(1.64Gb).使用标准foreign::read.dbf()函数在R中加载整个文件需要很长时间.我想在数据集中只加载一些变量.有没有人有办法解决吗 ?
该difftime()功能可以轻松计算两天或几周内的差异,但没有选项可以计算月份或年份的差异.有什么理由吗?你知道任何执行这项任务的功能吗?