R 数据复制

R 数据复制,r,R,这可能很简单,但我没有找到解决方案,因为我有一个一年的TIBLE值,并将在未来40年生成相同的集合。一个小示例如下所示(实际数据为2000 x 6) 数据检查此解决方案: tidyr::crossing( yr = 2010:2050, values = c("a","b","c") ) 基本R方式使用lappy lapply(2011:2050, function(x) data.frame(yr = x, values = data$values)) 这将为您提供每年的数据帧列表

这可能很简单,但我没有找到解决方案,因为我有一个一年的TIBLE值,并将在未来40年生成相同的集合。一个小示例如下所示(实际数据为2000 x 6)

数据检查此解决方案:

tidyr::crossing(
  yr = 2010:2050,
  values = c("a","b","c")
)

基本R方式使用
lappy

lapply(2011:2050, function(x) data.frame(yr = x, values = data$values))
这将为您提供每年的数据帧列表

输出3个值

lapply(2011:2013, function(x) data.frame(yr = x, values = data$values))


#[[1]]
#    yr values
#1 2011      a
#2 2011      b
#3 2011      c

#[[2]]
#    yr values
#1 2012      a
#2 2012      b
#3 2012      c

#[[3]]
#    yr values
#1 2013      a
#2 2013      b
#3 2013      c

这里还有一个选择。如果您正在建模,则此选项非常有用:

library(modelr)
library(dplyr)
data1 %>% 
  data_grid(yr=2010:2050,values=values)

谢谢你的快速回复!我使用了最后一个建议,但其他建议都很好。
library(modelr)
library(dplyr)
data1 %>% 
  data_grid(yr=2010:2050,values=values)