我有两个看起来像这样的数据框
数据框1:
P.X value
OOPA 5
POKA 4
JKIO 3
KOPP 1
数据框2:
P.X.1 P.X.2 P.X.3 P.X.4 mass
OOPA 56
POKA 44
JKIO 13
KOPP 11
并且我想基于df1 P.X和df2 P.X.1,P.X.2,P.X.3,P.X.4合并两个数据文件
让我有
新数据框:
P.X value mass
OOPA 5 56
POKA 4 44
JKIO 3 13
KOPP 1 11
[你知道我怎么可能用
merge(df1,df2 by(P.X == P.X.1 | P.X.2 | P.X.3 | P.X.4)
?
您也可以这样做:
df_new <- cbind(df1, df2[,5])
以下是实现目标的一种方法。
left_join(df1,
pivot_longer(df2, cols = P.X.1:P.X.4, names_to = "foo",
values_to = "P.X") %>% filter(nchar(P.X) > 0),
by = "P.X") %>%
select(-foo)
P.X value mass
1 OOPA 5 56
2 POKA 4 44
3 JKIO 3 13
4 KOPP 1 11