我正在尝试从包中使用ddply
和summarise
一起使用,plyr
但在解析不断变化的列名时遇到困难......在我的示例中,我想要以编程方式在 X1 中解析的东西,而不是在 X1 中硬编码到 ddply 函数中。
树立榜样
require(xts)
require(plyr)
require(reshape2)
require(lubridate)
t <- xts(matrix(rnorm(10000),ncol=10), Sys.Date()-1000:1)
t.df <- data.frame(coredata(t))
t.df <- cbind(day=wday(index(t), label=TRUE, abbr=TRUE), t.df)
t.df.l <- melt(t.df, id.vars=c("day",colnames(t.df)[2]), measure.vars=colnames(t.df)[3:ncol(t.df)])
这是我正在努力解决的问题......
cor.vars <- ddply(t.df.l, c("day","variable"), summarise, cor(X1, value))
我不想使用 X1 这个词,而是想使用类似的东西
cor.vars <- ddply(t.df.l, c("day","variable"), summarise, cor(colnames(t.df)[2], value))
但这出现了错误:Error in cor(colnames(t.df)[2], value) : 'x' must be numeric
我还尝试了各种其他组合,这些组合在 cor 中解析 x 参数的向量值......但由于某种原因,它们似乎都不起作用......
有任何想法吗?