您好我一直在寻找解决方案。我确定答案很简单,但我一直在把头发拉出来!
我有两个相似的数据框(实际上一个代表一个更完整的数据集)。它们都有两列,一列包含字符串值作为因子,另一列包含数值。
df.A看起来像这样:
Category Number
A 1
B 2
C 3
D 4
和df.B看起来像这样
Category Number
A 5
B 6
C 7
这两个类别(ABCD)在两个数据帧之间很常见。在试图让df.B得到一个带有NA或0值的类别D(我正在使用百分比,因此无论是NA还是0都没问题),我的代码如下所示:
proto <- df.A
proto$number <- NULL
df.B <- rbind.fill(proto,df.B)
我的想法是这会为类别D添加第四行并给出NA值,而是导致
Category Number
A NA
B NA
C NA
D NA
NA 5
NA 6
NA 7
我尝试在df.A和df.B上从类别中删除因子类,尝试使用rbind.fill.matrix而不是......说实话我对R很新,这给了我很多麻烦。如何让R识别ABCD是跨数据帧的相同因素?
答案 0 :(得分:3)
您可以使用merge
:
merge(df.A,df.B,by='Category',all=T)
将产生以下输出:
# Category Number.x Number.y
#1 A 1 5
#2 B 2 6
#3 C 3 7
#4 D 4 NA