数据帧列表中的行频率

时间:2018-03-30 22:10:24

标签: r list dataframe

我有以下表格的20个数据框列表:

    k    h   value
85 12 h=35 0.0401
86 11 h=34 0.0400
87 10 h=22 0.0405
88  9 h=32 0.0409
89  8 h=22 0.0414
90  7 h=19 0.0435
91  6 h=18 0.0443
92  5 h=17 0.0440
93  4 h=17 0.0445
94  3 h=16 0.0450
95  2 h=15 0.0450
96  1 h=17 0.0363
97  0 h=12 0.0152

[[2]]
    k    h   value
85 12 h=32 0.0019
86 11 h=29 0.0019
87 10 h=64 0.0019
.. .. ...  ...
.. .. ...  ...

我想要的是在每行(每个k)的所有数据帧列表上创建一个频率表作为数据帧或矩阵,但我不知道如何实现这一点。所以输出告诉我每k的不同h值的数量。我的想法是合并所有列" h"在一个新的数据框架中,然后计算每个k的频率,但这不是我认为最聪明的方式。预期的输出应该如下所示

 k   h=1  h=2  h=3 ....                     h=64
12 freq  freq  freq 
11
10
 9
 8
 7
 6
 5

1 个答案:

答案 0 :(得分:0)

这是基于dplyr的解决方案。

library(dplyr)

df <- data.frame(a= c(1,2,3,4), h=c(1,2,1,2))
summarydf <- df %>% group_by(h) %>%
  summarise(count=n())

此外,如果所有数据帧具有相同的结构,您可以使用rbind首先组合它们。