【问题标题】:Looping across time series values in R在 R 中遍历时间序列值
【发布时间】:2022-08-03 01:29:39
【问题描述】:

如果我在某个地方忽略了这个问题的解决方案,我深表歉意,但我花了似乎不合理的时间试图找到一个解决方案。我想操纵多个时间序列值,以下简单任务的解决方案可能会有所帮助:

x1 <- c(1, 11, 21)
y1 <- c(2, 12, 22)
x2 <- c(3, 13, 23)
y2 <- c(4, 14, 24)
x3 <- c(5, 15, 25)
y4 <- c(6, 16, 26)

假设上述值上升到x60y60

z1 <- x1 + y1
z2 <- x2 + y2 
z3 <- x3 + y3

我需要使用循环生成值z1z2...。类似的东西:

for (i in 1:3){
  obj1= paste0(\"x\",i)
  obj2= paste0(\"y\", i)
  dv<- paste0(\"z\", i)
  assign(dv, obj1 + obj2)
}

(当然这不会运行)。有任何想法吗?

    标签: r loops


    【解决方案1】:

    我们可以用

    Map(`+`, mget(ls(pattern = "^x\\d+$")), mget(ls(pattern = "^y\\d+$")))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 2016-09-19
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      相关资源
      最近更新 更多