多列的频率和百分比计数

时间:2016-01-06 22:29:17

标签: r function dataframe

我的数据看起来像:

print(dat)
i1  i2  i3  i4
 0   1   1   0
NA   1   1   1
 0   0   0   1
 1   1   1   1

我的目标是通过函数和sapply的某种组合来理想地获得三条信息:1的数量,0的数量,以及1的非NA的百分比。例如,理想的结果就是:

function(dat)
0  1   percentage
5  10      66.7

谢谢!

1 个答案:

答案 0 :(得分:5)

这里有一个选项:

c(sum(mat==0,na.rm=TRUE),
  sum(mat==1,na.rm=TRUE),
  round(sum(mat==1,na.rm=TRUE)/sum(!is.na(mat))*100,1))

## 5.0 10.0 66.7