我有两个数据帧,如下所示:
df1<- read.table( text="id time group class income
12 NA NA NA NA
17 NA NA NA NA
19 NA NA NA NA
36 NA NA NA NA
14 NA NA NA NA
15 NA NA NA NA
8 NA NA NA NA
22 NA NA NA NA
33 NA NA NA NA
11 NA NA NA NA
",h=T)
第二个数据帧如下:
df2<- read.table( text="id time group class income age
17 3 A 1 2 12
11 6 A 3 12 11
36 9 E 2 11 23
19 19 E 2 13 13
8 23 M 2 14 14
15 11 M 1 16 13
12 3 P 1 15 15
14 3 Q 2 13 13
33 4 Z 3 19 13
22 5 G 3 20 11",h=T)
我想使用ID获取下表
df3<- read.table( text="id time group class income
12 23 P 1 15
17 3 A 1 2
19 3 E 2 13
36 5 E 2 11
14 3 Q 2 13
15 3 M 1 16
8 23 M 2 14
22 5 G 3 20
33 4 Z 3 19
11 6 A 3 12",h=T)
很抱歉,但我未能找到一些可能的解决方案来展示我的尝试。感谢您的帮助。
答案 0 :(得分:1)
这是一个dplyr
解决方案,假设您希望从id
到df1
的顺序以及从df2
来的大部分数据:
library(dplyr)
df1 %>%
select(id) %>%
left_join(df2) %>%
select(-age)
Joining, by = "id"
id time group class income
1 12 3 P 1 15
2 17 3 A 1 2
3 19 19 E 2 13
4 36 9 E 2 11
5 14 3 Q 2 13
6 15 11 M 1 16
7 8 23 M 2 14
8 22 5 G 3 20
9 33 4 Z 3 19
10 11 6 A 3 12