我认为这是相当简单的,但不幸的是我还没有找到解决方案。我找到了提示here和here,但他们没有解决问题。
我有一个包含选举结果的数据框(x.melt;几千行)和另一个只包含聚会名称和民族关系的数据框(parties.bih)。这两个数据帧具有不同的维度。
dataframe parties.bih
party ethnicity
1 BPS B
2 SBiH B
3 SDP X
4 SDS S
5 DNZ B
6 SDA B
7 PDP S
8 DNS S
9 NSRzB C
10 SNSD S
11 HDZ.1990.HZ.HSS.HKDU.HDU. C
12 HDZ.HNZ C
13 SBBBiH B
14 HDZBiH C
15 Croatian.Coalition C
我想要做的就是将每一方的民族联系(在数据框party.bih中)添加到选举结果中(在dataframe x.melt中)。
当我尝试这个命令时,会增加种族隶属关系,但不符合每一方。
x.melt$ethnicity[x.melt$party==parties.bih$party] <- parties.bih$ethnicity
当我尝试合并命令时,行&#34; party&#34;消失。我当然可以复制派对专栏,但必须有一个更简单的解决方案。
tt <- merge(x.melt, parties.bih, by.x="party", by.y="party", all.x=TRUE)
我仍然是R的新手,并且认为实际上这很容易,但我根本没想到它。非常感谢。
答案 0 :(得分:0)
合并应该有效,输出数据框中包含用于合并的列。这对我来说至少适用于示例数据帧:
class<- c("A","B","C","D"); var1<- 1:4; var2<- 30:33
df1<- data.frame(class,var1)
df2<- data.frame(class,var2)
tt <- merge(df1, df2, by="class",all=TRUE)
输出:
> tt
class var1 var2
1 A 1 30
2 B 2 31
3 C 3 32
4 D 4 33
或者我误解了你的问题?