如何将R中的多列TRUE或FALSE数据制表/计数?

时间:2016-02-19 09:46:47

标签: r

我有几列数据读取为TRUE或FALSE。这是唯一的数据。我想要两行读取" TRUE"和" FALSE",每个列标题下显示计数。

示例数据:

Red    Blue    Green
True   True    True
True   False   False
False  False   True

输出我想:

     Red Blue Green
True: 2    1    2 
False: 1   2    1

table()命令不起作用,因为它将每个可能的TRUE或FALSE组合列表。

4 个答案:

答案 0 :(得分:2)

你也可以从“qdapTools”尝试mtabulate

library(qdapTools)
mtabulate(mydf)
#       False True
# Red       1    2
# Blue      2    1
# Green     1    2

如果需要,转置(t())。

答案 1 :(得分:2)

我们可以尝试

sapply(df,table)
#      Red Blue Green
#False   1    2     1
#True    2    1     2

答案 2 :(得分:1)

我们可以在SELECT, INSERT, DELETE, UPDATE数据集之后尝试table

unlist

或者

v1 <- unlist(df1)
table(v1, sub('\\d+','', names(v1)))
#   v1      Blue Green Red
#    False    2     1   1
#    True     1     2   2

注意:没有循环或没有使用外部包。

答案 3 :(得分:1)

使用melt包中的reshape功能在宽幅和长幅格式之间切换

Red<-c(TRUE,TRUE,FALSE)
Blue<-c(TRUE,FALSE,FALSE)
Green<-c(TRUE,FALSE,TRUE)
df<-cbind(Red,Blue,Green)

require(reshape)

df1<-melt(df)
table(df1$X2,df1$value)