使用by
我可以根据因子列获取所需列的统计信息。
例如,如果我想知道每种物种的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
到目前为止一切顺利。现在,问题是,我怎么能相同,但仅限于一组子级别。例如 setosa 和 versicolor ?
我有一个复杂的data.frame,有数千个因素。我正在玩桌子,以便根据不同的统计数据创建子集。我想回到我原来的data.frame并为我想要的因子子集创建更多的数字。
由于
答案 0 :(得分:5)
with( droplevels( subset(iris, Species %in% c("setosa", "versicolor") ) ),
by(Sepal.Width/Sepal.Length, Species, mean) )