【问题标题】:tapply with non numeric values非数值的 tapply
【发布时间】:2014-12-20 21:25:21
【问题描述】:

我现在正在上课学习 R,但遇到了一个问题。

我们设置如下数据框:

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

它运行良好,但随后他向我们提出了以下要求:

"使用tapply查找"control"、"ConditionB"和"ConditionC"的手段"。

我尝试了十种不同的表达方式,但我只是出现了错误。谁能帮我解决这个问题?

【问题讨论】:

标签: r dataframe character tapply


【解决方案1】:

如 cmets 中所述,您错过了 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)

【讨论】:

  • 非常感谢,已经解决了。
  • @MaryHeske 不用感谢我。如果它解决了您的问题,只需将答案标记为“已接受”即可。
【解决方案2】:

除了使用tapply,试试hadley的包dplyr:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多