我试图在ddply语句中使用对象值作为新变量名:
c<-"Sales_column"
a1<-ddply(df,.(c1),here(summarize),eval(parse(text=c)) = sum(c3))
抛出语法错误:
错误:意外&#39; =&#39;在 a1&lt; -ddply(df,。(c1),here(summary),eval(parse(text = c))=&#34;
我做错了什么? 在这种情况下,我想将新列命名为&#34; Sales_column&#34; 此代码是大代码的一部分,其中c值将发生变化。
答案 0 :(得分:0)
这是一种方法。
不确定是否可以按照您的尝试将新变量名称输入到ddply中。
另外作为副作用你不应该使用&#34; c&#34;作为变量名,因为它是向量的r代码,它可能会让人感到困惑。其他要避免的是T(TRUE的缩写),F(FALSE的缩写)。
df = data.frame(c1 = c(rep("a",5), rep("b", 5)),
c2 = seq(1,10),
c3 = rnorm(10))
library(plyr)
c<-"Sales_column"
a1<-ddply(df,.(c1), here(summarise) , Output = sum(c3))
names(a1) = sub("Output", c, names(a1))