如何 join/spread 数据集到 R 中区域内可能的坐标位置

How to join/spread dataset to possible coordinate location within zone in R

我希望任何人都可以给我一些提示,告诉我应该使用哪种方法。 例如我有一个数据框如下:

Zone <- c(1, 1,1,1,2,2,2)
ID <- c(1,2,3,4,5,6,7)
df1 <- data.frame(Zone, ID)


Zone <- c(1, 1,1,2,2,2,2)
X <- c(1,2,3,4,5,6,7)
Y <- c(1,2,3,4,5,6,7)

df2 <- data.frame(Zone,X, Y)

然而,当我使用如图所示的简单连接将它们组合起来时,它给出了错误的输出。

df3 <- df1 %>% inner_join(df2, by = "Zone")

我想得到这个可能的结果:

Zone <- c(1, 1,1,1,2,2,2)
ID <- c(1,2,3,4,5,6,7)
X <- c(1,2,3,2,5,6,7)
Y <- c(1,2,3,2,5,6,7)


df3 <- data.frame(Zone,ID, X, Y)

感谢您的帮助或任何可能有效的方法。谢谢

尝试使用 cbind 函数对数据帧进行列绑定:

df2 %>% cbind(df1$ID)

输出:

  Zone X Y df1$ID
1    1 1 1      1
2    1 2 2      2
3    1 3 3      3
4    2 4 4      4
5    2 5 5      5
6    2 6 6      6
7    2 7 7      7

我们可能会在感兴趣的列

中的select之后使用bind_cols
library(dplyr)
df2 %>%
    bind_cols(df1 %>%
          select(ID))
   Zone X Y ID
1    1 1 1  1
2    1 2 2  2
3    1 3 3  3
4    2 4 4  4
5    2 5 5  5
6    2 6 6  6
7    2 7 7  7