对于mtcars数据集,我想找出有多少具有1,2,3等碳水化合物的汽车有4,6或8个气缸。
因此我使用prop.table()
prop.table(with(mtcars, table(carb, cyl)), margin = 1)
的结果是:
cyl
carb 4 6 8
1 0.7142857 0.2857143 0.0000000
2 0.6000000 0.0000000 0.4000000
3 0.0000000 0.0000000 1.0000000
4 0.0000000 0.4000000 0.6000000
6 0.0000000 1.0000000 0.0000000
8 0.0000000 0.0000000 1.0000000
我想做同样的事情,现在只有一个过滤器条件。我只想数一下档位= 4的车。我试图使用if语句,但它没有工作(错误消息:条件长度>)
编辑:我还是想把那些齿轮== 4的车放在汽车总数的角度来看。所以删除那些不匹配的情况下,齿轮= = 4标准事先是不幸的不是有目的的在我的例子中。
我可以这样做吗?
谢谢!
一个可能的解决方案,使用dplyr
:
library(dplyr)
mtcars %>%
filter(gear == 4) %>%
{prop.table(table(carb = .$carb, cyl = .$cyl), margin = 1)}
#> cyl
#> carb 4 6
#> 1 1 0
#> 2 1 0
#> 4 0 1