R - 计算data.frame中列的值的出现次数

时间:2017-12-04 03:14:04

标签: r

  

我有data.frame =病人

ID  GLUC TGL HDL LDL HRT  MAMM SMOKE
A   88   NA  32  99   Y   <NA>  ever
B   NA   150 60  NA  <NA>  no   never
C   110  NA  NA  120  N   <NA>  <NA>
D   NA   200 65  165 <NA>  yes  never
E   90   210 NA  150  Y   <NA>  never
F   88   NA  32  210 <NA>  yes  ever
G   120  164 NA  NA   Y    yes  <NA>
H   110  170 70  188 <NA> <NA>  ever
I   NA   190 NA  190  N    no   <NA>
J   90   NA  75  NA  <NA>  yes  never

我必须编写一个函数并传递一个包含更多列的向量     名称为:function(df=patient, var=c("HRT","MAMM"))     然后,获得各个字符的出现次数和NA     columns(in this case "HRT","MAMM")并显示如下:Count(NA)= NMiss

****输出我需要****

varName group count
    1  HRT      N     2
    2           Y     3 
    3          NMiss  5
    4  MAMM     no    2
    5           yes   4
    6          NMiss  4

我能够通过对一列使用以下来计算N,Y,NA的出现次数。

NMiss= sum(is.na(patient$HRT))

 Y = length(which(patient$HRT=="Y"))

 N = length(which(patient$HRT=="N")) 

但是,我无法创建我需要的输出。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果已经使用更新后的值创建了数据框,则可以使用函数summary()获得所需列的结果。