汇总数据框的某个列中的值

时间:2018-07-24 22:48:45

标签: lapply

我有一个看起来像这样的数据框:

L   IND CG WG OG AnQ SQ WC Prd SP  T.Q W  O
NA  NA  NA X  NA  NA X  NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA X  NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA NA NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA NA NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA X  NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA NA NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA X  NA NA  NA  NA  NA NA
NA  NA  NA X  NA  NA NA NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA NA NA NA  NA  NA  NA X
NA  NA  NA X  NA  NA X  NA NA  NA  NA  NA X

我的目标是获得一个看起来像这样的新数据框:

L   IND CG  WG  OG  AnQ  SQ  WC Prd SP  T.Q  W  O
0   0   0   10  0   0    5   0  0   0   0    0  9

其中的值是该列中出现多少个“ X”。深入进行堆栈交换后,我设法获得了一个数据帧,如下所示:

WG.X   SQ.X   O.X
10     5      9

使用代码

foo = function(x){return(table(x))}
plotme <- unlist(lapply(mydataframe, foo))

我无法弄清楚如何将所有列都包含在最后一帧中。我不在乎有多少个“ NA”,只在乎有多少个“ X”。

最终目标是制作一个饼图,并让图例包含所有列标签。像这样还有其他几个数据框,我想使图例颜色保持一致,但需要完整的列表才能做到。

任何帮助将不胜感激!

0 个答案:

没有答案