【问题标题】:comparing the value of the first column of two dataframe to find the index of the same values in R? [duplicate]比较两个数据帧的第一列的值以找到 R 中相同值的索引? [复制]
【发布时间】:2014-11-29 13:36:53
【问题描述】:

我想要做的是比较两个数据帧的第一列并找到相同值的索引并将第一个数据帧的第二列的元素分配给第二个数据帧: 请看例子:

datafranmeA          dataframeB

   id   number         id   
1  1     45             1
2  3     78             4
3  5     67             12
4  12    18             5
5  4     44             8
6  8      32
7  13     41

output : dataframeB

         id     number
     1    1      45
     2    4      44
     3    12     18
     4    5      67
     5    8      32

我使用了两个for循环和if来比较,但它真的很慢,因为我自己的数据真的很大,我应该如何加快它?

for (i in 1:length(A[,1])){
 for (j in 1:length(B[,1])){
   if (A[i,1]==B[j,1]) {
      B[j,2]=A[i,2]}}}

提前谢谢你,

【问题讨论】:

  • @beginneR 感谢您的建议

标签: r dataframe compare


【解决方案1】:

试试

library(dplyr)
left_join(dataframeB, dataframeA)

【讨论】:

  • ,谢谢,这很有帮助,正在等待其他答案,但你的答案很完美
  • ,如果它还有其他列呢?
  • 建议提供样本数据,以便我们更好地理解问题。另外,最好看看@beginneR 建议的链接
  • 谢谢,我的意思是数据框有其他列但在这里不可用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
相关资源
最近更新 更多