ddply
パッケージからsummarise
一緒に使用しようとしていplyr
ますが、変化し続ける列名を解析するのに問題があります...私の例では、X1をddply関数にハードコーディングするのではなく、プログラムでX1を解析するものが必要です。
例を設定する
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引数のベクトル値を解析する他のさまざまなコンボを試しました...しかし、何らかの理由で、それらのいずれも機能していないようです...
何か案は?