我有一个数据集"df",包含许多观察结果和多个变量,包括一些邮政编码(在某些情况下重复多次)和一个不同的数据集"df2",其中包含这些邮政编码的坐标.我想用这些邮政编码的坐标向我的第一个数据集"df"添加两个新变量,但是,考虑到我拥有的大量数据,循环需要的时间太长了.我想知道我是否可以在保持数据帧 struct 的同时,以某种方式对其进行矢量化,而不转换为矩阵.我附上了我想要实现的一个简化版本.
# This dataset has my variables (removed the rest for simplicity)
df <- data.frame(pc = c("00001", "00002", "00003",
"00001", "00002", "00003",
"00001", "00002", "00003"))
pc
1 00001
2 00002
3 00003
4 00001
5 00002
6 00003
7 00001
8 00002
9 00003
#This dataset holds the coordinates
df2 <- data.frame(pc = c("00001", "00002", "00003"),
lat = c(1, 2, 3),
long = c(4, 5, 6))
pc lat long
1 00001 1 4
2 00002 2 5
3 00003 3 6
#This is the dataset I need
good.df <- data.frame(pc = c("00001", "00002", "00003",
"00001", "00002", "00003",
"00001", "00002", "00003"),
lat = c(1, 2, 3, 1, 2, 3, 1, 2, 3),
long = c(4, 5, 6, 4, 5, 6, 4, 5, 6))
pc lat long
1 00001 1 4
2 00002 2 5
3 00003 3 6
4 00001 1 4
5 00002 2 5
6 00003 3 6
7 00001 1 4
8 00002 2 5
9 00003 3 6
我已经寻找解决办法很长时间了,但考虑到我不知道如何恰当地提出这个问题,我至今没有成功.我真的很想在这里得到一些指导.
非常感谢.