new.df <- as.data.frame(match(unique_numbers$ID, MASTERFILE$ID))
我在一个名为MASTERFILE的数据框中有几百万行。它包含一列“ID”,带有一堆整数。我有另一个名为“unique_numbers”的数据框,它有一个类似的整数列“ID”,其中包含数字。
我希望匹配不同数据框中的两个“ID”列,以便在MASTERFILE中匹配的ID将被复制到新数据框“new.df”。
上面的命令似乎有效,但我担心它只能通过每个数字,并且MASTERFILE可能在不同的行中多次写入相同的ID,我认为它不会被接收!
答案 0 :(得分:0)
很难看到没有例子(欣赏其数百万行),即使样本数据也会很好。
这可能有用吗?
T
或根据您的具体情况:
# dummy data different ID lengths
unique_numbers <- rep(1:1000,each=10)
master_id <- rep(1:2000,each=20)
# subset the ones that match
new.df <- subset(master_id , master_id %in% unique_numbers)
答案 1 :(得分:0)
您可以使用%in%
new.df <- MASTERFILE[MASTERFILE$ID %in% unique_numbers$ID, ];
或者,如果您希望new.df
仅包含ID
列:
new.df <- MASTERFILE[MASTERFILE$ID %in% unique_numbers$ID, "ID"];