使用 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。我正在玩一些表格,以便根据不同的统计数据创建因子的子集。然后我想回到我原来的 data.frame 并为我想要的因子子集创建更多数字。

谢谢

最佳答案

with( droplevels( subset(iris, Species %in% c("setosa",  "versicolor") ) ),
     by(Sepal.Width/Sepal.Length, Species, mean) )

关于r - 如何从一组因素中获取统计数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16313664/

10-13 09:28