是否可以在ddply中使用空格?
我正在使用列名中包含大量空格的电子表格中的数据,我想保留这些名称,因为稍后我想要使用与原始列相同的列名导出此数据.有200多列,使用make.names当然会给我正确的名称,但后来我失去了原来的列名.
然而ddply似乎不喜欢空格?有解决方法吗?
lev=gl(2, 3, labels=c("low", "high"))
df=data.frame(factor=lev, "fac tor"=lev, response=1:6, check.names = FALSE)
> ddply(df, c("factor"), summarize, r.avg=mean(response))
factor r.avg
1 low 2
2 high 5
> ddply(df, c("fac tor"), summarize, r.avg=mean(response))
Error in parse(text = x) : <text>:1:5: unexpected symbol
: fac tor
Run Code Online (Sandbox Code Playgroud)
将列名称包装在单个后退标记(`)中似乎可以解决问题.
ddply(df, "`fac tor`", summarize, r.avg=mean(response))
Run Code Online (Sandbox Code Playgroud)
您还可以使用列索引,这些索引可能有吸引力,也可能没有吸引力,具体取决于您的data.frame有多大以及您事先知道每列的位置.
ddply(df, 2, summarize, r.avg=mean(response))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4315 次 |
| 最近记录: |