绑定两个数据帧

时间:2012-12-26 17:41:00

标签: r

我正在尝试合并我拥有的两个数据帧,另一个是1到6(A)的数字长列表,另一个是数字1到6的数字,并且每个数字都标记为(B)。 如何将B合并到A,以便A中的数字列表在B中具有相应数字的名称?

祝你好运, Hlynur T

2 个答案:

答案 0 :(得分:2)

如果这复制了你的情况,那么merge就是答案:

 dfB <- data.frame(numb = 1:6, nams = LETTERS[1:6])
 dfA <- data.frame(nums = sample(1:6, 30, repl=TRUE))
 merge(dfA, dfB, by.x="nums", by.y="numb")

(过去曾经多次询问并回答过这个问题。)

答案 1 :(得分:1)

使用match()。假设您有以下两个数据框:

A <- data.frame(num=sample(1:6,100,replace=TRUE))
B <- data.frame(num=1:6,myname=letters[1:6])

然后为数据框A:

创建一个新列“myname”
A[,'myname'] <- B[match(A[,'num'],B[,'num']),'myname']

正如其他人所提到的,如果你使用rownames()而不是为名称创建一个列,事情就会略有改变,但这种一般结构应该只需要一些调整就可以了。不管具体细节如何。