如何从因子子集中获取统计数据?
Posted
技术标签:
【中文标题】如何从因子子集中获取统计数据?【英文标题】:How to get statistics from a sub-set of factors? 【发布时间】:2013-04-25 04:28:14 【问题描述】:使用by
,我可以根据因子列获取所需列的统计信息。
例如,如果我想知道每个物种的 Sepal.Width/Sepal.Length 的比率,在 iris 数据框中,我会这样:
by(iris$Sepal.Width/iris$Sepal.Length, iris$Species, mean)
iris$Species: setosa
[1] 0.6842483
------------------------------------------------------------
iris$Species: versicolor
[1] 0.4676804
------------------------------------------------------------
iris$Species: virginica
[1] 0.4533956
到目前为止一切顺利。现在,问题是,我怎么能一样,但只针对一组级别。例如仅 setosa 和 versicolor?
我有一个包含数千个因素的复杂数据框。我正在玩一些表格,以便根据不同的统计数据创建因子子集。然后我想回到我原来的 data.frame 并为我想要的因子子集创建更多数字。
谢谢
【问题讨论】:
有很多方法可以解决这个问题,其中一些在这里概述:***.com/a/9800266/1036500 您可能会考虑问另一个问题,这些问题显示了您实际用例的更多具体复杂性以获得更有用的答案。 【参考方案1】:with( droplevels( subset(iris, Species %in% c("setosa", "versicolor") ) ),
by(Sepal.Width/Sepal.Length, Species, mean) )
【讨论】:
+1 -- 如果你将subset()
调用与droplevels()
包装起来会更好。
嘿,你应该写这个答案。
哈。我很高兴看到/回忆droplevels
有一个用于整个 data.frames 的方法。以上是关于如何从因子子集中获取统计数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 React JS 中的 firebase 文档的所有子集合中获取数据? [复制]