合并具有不同大小和缺失值的两个数据帧

时间:2014-03-06 13:04:04

标签: r merge na merging-data

我在R中合并两个数据帧时遇到问题。

第一个由10个变量组成的103731个障碍组成。我必须用来合并的变量有77111个唯一值,其余的是NA s,值为0.第二个包含这些变量的频率加上NA的频率所以一个77112的框架为2个变量。

我需要得到的结果是第一个用合并变量的频率加入的帧,所以103731的df为合并变量的每个值的频率(如果freq> 1也是重复的那样)每个NA(或0))。

有人能帮助我吗?

我现在得到的结果包含一个1 894 919 obs的数据框,我用过:

tot = merge(df1, df2, by = "mergingVar", all= F, sort = F);  

我也玩了很多'all='并且没有任何变体给出正确的df。

1 个答案:

答案 0 :(得分:1)

为什么不直接拿下第一张桌子的频率表?

a <- data.frame(a = c(NA, NA, 2,2,3,3,3))
data.frame(table(a, useNA = 'ifany'))

     a Freq
1    2    2
2    3    3
3 <NA>    2
来自mutate

plyr

ddply(a, .(a), mutate, freq = length(a))

   a freq
1  2    2
2  2    2
3  3    3
4  3    3
5  3    3
6 NA    2
7 NA    2