R 通过映射多个列来创建两个新列
如何匹配R中的列并提取值。例如:我想根据dataframe_one的Name和City列与dataframe_two进行匹配,然后使用另外两个列temp和ID返回输出。如果匹配,还应返回TRUE和ID 我的意见是: 数据帧1R 通过映射多个列来创建两个新列,r,R,如何匹配R中的列并提取值。例如:我想根据dataframe_one的Name和City列与dataframe_two进行匹配,然后使用另外两个列temp和ID返回输出。如果匹配,还应返回TRUE和ID 我的意见是: 数据帧1 Name City Sarah ON David BC John KN Diana AN Judy ON 数据帧二 Name City ID Dave ON 1092 Diana AN 2314 Judy
Name City
Sarah ON
David BC
John KN
Diana AN
Judy ON
数据帧二
Name City ID
Dave ON 1092
Diana AN 2314
Judy ON 1290
Ari KN 1450
Shanu MN 1983
我希望输出是
Name City temp ID
Sarah ON FALSE NA
David BC TRUE 1450
John KN TRUE 1983
Diana AN FALSE NA
Judy ON FALSE NA
让回答这类问题更容易的一件事是,如果您至少将数据帧放在R中,如下所示:
df1 <- data.frame(stringsAsFactors=FALSE,
Name = c("Sarah", "David", "John", "Diana", "Judy"),
City = c("ON", "BC", "KN", "AN", "ON")
)
df2 <- data.frame(stringsAsFactors=FALSE,
Name = c("Dave", "Diana", "Judy", "Ari", "Shanyu"),
City = c("ON", "AN", "ON", "KN", "MN"),
ID = c(1092, 2314, 1290, 1450, 1983)
)
df1使用biomiha代码生成df1和df2:
df1 <- data.frame(stringsAsFactors=FALSE,
Name = c("Sarah", "David", "John", "Diana", "Judy"),
City = c("ON", "BC", "KN", "AN", "ON")
)
df2 <- data.frame(stringsAsFactors=FALSE,
Name = c("Dave", "Diana", "Judy", "Ari", "Shanyu"),
City = c("ON", "AN", "ON", "KN", "MN"),
ID = c(1092, 2314, 1290, 1450, 1983)
)
给出输出:
Name City ID temp
1 Sarah ON NA FALSE
2 David BC NA FALSE
3 John KN NA FALSE
4 Diana AN 2314 TRUE
5 Judy ON 1290 TRUE
Name City ID temp
1 Sarah ON NA FALSE
2 David BC NA FALSE
3 John KN NA FALSE
4 Diana AN 2314 TRUE
5 Judy ON 1290 TRUE