tapply with non numeric values

时间:2014-12-20 21:25:21

标签: r dataframe character tapply

我现在正在上课学习R,而且我遇到了问题。

我们设置了以下数据框:

Column1=c(rep("control",300),rep("ConditionB",300),rep("ConditionC",300))
Column2=(900,mean=100,sd=10)
data=data.frame(Column1,Column2)

它运行正常,但随后他问我们以下要求:

"使用tapply查找"控制"," ConditionB"和" ConditionC""的方法。

我尝试了十种不同的方法,我只是出错了。任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

如评论中所述,您错过了rnorm()。您还可以使用向量c("control","ConditionB","ConditionC")times = 300,而不是重复rep() 3次。

Column1=rep(c("control","ConditionB","ConditionC"), times = 300)
Column2=rnorm(900,mean=100,sd=10)
data=data.frame(Column1,Column2)
tapply(data$Column2,data$Column1,mean)

答案 1 :(得分:1)

除了使用tapply之外,请尝试使用hadley的软件包dplyr:

data %>% group_by(Column1) %>% summarise(mean(Column2))