我有一个包含shape-file的数据帧,我想将其与另一个年份数据集合并。我希望向前者添加一个年份变量,而对于每个年份,所有其他变量保持不变。我不确定如何做到这一点。
例如,假设我有以下数据集:
但是当数据集已经存在或者极其庞大时,这种方式将无法使用(或效率极低)。有没有更好的方法来解决这个问题?
例如,假设我有以下数据集:
a <- data.frame(code = c("aaa" , "bbb", "ccc") ,
item = c("apples" , "bananas" , "carrots") ,
id = c(1,2,3))
提供以下内容:
code item id
1 aaa apples 1
2 bbb bananas 2
3 ccc carrots 3
我想添加一个名为year
的新变量,长度为n,在每一年中都重复其他变量相同的元素。例如,假设我想将1990年到1992年添加到像这样的现有对象中:
code item id year
1 aaa apples 1 1990
2 aaa apples 1 1991
3 aaa apples 1 1992
4 bbb bananas 2 1990
5 bbb bananas 2 1991
6 bbb bananas 2 1992
7 ccc carrots 3 1990
8 ccc carrots 3 1991
9 ccc carrots 3 1992
有没有一种方法可以对现有的数据框进行此操作?对于这个例子,我使用了以下代码;
b <- data.frame(code = rep(c("aaa" , "bbb", "ccc") , each = 3) ,
item = rep(c("apples" , "bananas" , "carrots") , each = 3) ,
id = rep(c(1,2,3) , each = 3) ,
year = rep(c(1990:1992) , times = 3))
但是当数据集已经存在或者极其庞大时,这种方式将无法使用(或效率极低)。有没有更好的方法来解决这个问题?
sf
标签,因为我们在这个问题中没有直接涉及到sf
(尽管提到了 shapefile)。 - AndrewGB