2011-04-22 44 views
1

我正在使用我正在编写的函数中的summaryBy()(doBy包)函数。我想定义需要计算总结的变量(作为字符串)。当我定义一个字符串并将其传递给summaryBy函数时,它不起作用。以下是summaryBy函数的帮助文件中的一个示例。在doBy命令中使用字符串

data(dietox) 
dietox12<- subset(dietox,Time==12) 

下面的代码工作

summaryBy(Weight+Feed~Evit+Cu,data=dietox12,FUN=mean) 

但是以下不起作用

vardef<-'Evit'; 
summaryBy(Weight+Feed~vardef+Cu,data=dietox12,FUN=mean) 

我知道为什么它不工作。我想知道是否有另一种方式。当然,我可以使用ddply函数代替summaryBy函数。
谢谢。

回答

2

如果您想动态构建公式,最简单的方法是将其完全构建为字符串。

form<-formula(paste("Weight+Feed~", vardef, "+Cu", sep="")) 

summaryBy(form,data=dietox12,FUN=mean) 

还有其他的选择,但这是最简单的。

相关问题