r语言 - prop.带过滤条件的表



对于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

最新更新