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