R:创建总结布尔值的新列

时间:2014-03-13 16:22:38

标签: r

我有一个包含多个包含TRUE和FALSE值的列的表。例如:

Table <- data.frame("A" = c(TRUE, TRUE, TRUE, FALSE, FALSE), "B" = c(TRUE, FALSE, TRUE, FALSE, FALSE), "C" = c(TRUE, TRUE, TRUE, FALSE, TRUE))

要获取我可以使用的每个列的摘要:

summary(Table)

获得:

     A               B               C          
 Mode :logical   Mode :logical   Mode :logical  
 FALSE:2         FALSE:3         FALSE:1        
 TRUE :3         TRUE :2         TRUE :4        
 NA's :0         NA's :0         NA's :0  

但是,我想将其打印为百分比为TRUE的单个矢量。例如

     A               B               C          
 60%   60%   80% 

2 个答案:

答案 0 :(得分:3)

我认为最简单的解决方案是:

colMeans(Table)

##   A   B   C 
## 0.6 0.4 0.8 

答案 1 :(得分:2)

您当然可以进一步格式化输出。但基本上这可以解决问题:

> apply(Table,2,function(c) sum(c)/length(c))
  A   B   C 
0.6 0.4 0.8