2014-03-13 31 views
0

我有一個包含TRUE和FALSE值的多個列的表。例如:R:創建總結布爾值的新列

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

你當然可以進一步格式化輸出。但本質上,這將這樣的伎倆:

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

是的,或者更簡單地說,'colMeans(表)'。 – Aaron

+0

是...... :)但是這樣他學到了關於apply()的一些東西......我不給魚 - 我教魚,你知道 – Raffael

3

我認爲最簡單的解決方法是:

colMeans(Table) 

## A B C 
## 0.6 0.4 0.8