3

使用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

到目前为止,一切都很好。现在,问题是,我怎么能一样,但只针对一组级别。例如仅setosaversicolor

我有一个包含数千个因素的复杂数据框架。我正在玩一些表格,以便根据不同的统计数据创建因子子集。然后我想回到我的原始 data.frame 并为我想要的因子子集创建更多数字。

谢谢

4

1 回答 1

5
with( droplevels( subset(iris, Species %in% c("setosa",  "versicolor") ) ), 
     by(Sepal.Width/Sepal.Length, Species, mean) )
于 2013-05-01T06:29:58.957 回答