R 如何从因子子集中获取统计数据?
使用R 如何从因子子集中获取统计数据?,r,R,使用by我可以根据因子列获得所需列的统计信息 例如,如果我想知道在iris数据框中,每个物种的Sepal.Width/Sepal.Length的比率,我会这样做: by(iris$Sepal.Width/iris$Sepal.Length, iris$Species, mean) iris$Species: setosa [1] 0.6842483 ------------------------------------------------------------ iris$Species
by
我可以根据因子列获得所需列的统计信息
例如,如果我想知道在iris数据框中,每个物种的Sepal.Width/Sepal.Length的比率,我会这样做:
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
到目前为止还不错。现在,问题是,我如何才能做到相同,但只为一个子集的水平。e、 只有刚毛和花色
我有一个包含数千个因素的复杂数据框架。我正在玩一点表格,以便根据不同的统计数据创建因子子集。然后我想回到我的原始data.frame,为我想要的因子子集创建更多的数字
谢谢
这其中有很多方法,其中有些草图如下:你可以考虑问另一个问题,这些问题显示了你实际用例的特定复杂程度,得到了一个更有用的答案。+ 1——即使你包好<代码>子集()/<代码>调用<代码>下拉()/<代码>你应该写下这个答案。我很高兴看到/回忆起,droplevels
有一个用于整个data.frames的方法。
with( droplevels( subset(iris, Species %in% c("setosa", "versicolor") ) ),
by(Sepal.Width/Sepal.Length, Species, mean) )