【发布时间】:2020-06-25 13:35:04
【问题描述】:
如果这是一个愚蠢的问题,我很抱歉,但我对此有点陌生。 我想写一个 for 循环,其中输入是一个时间序列。根据时间条件,我想选择 mat1、mat2 或 mat3 来替换“mat”参数并将其乘以 2。
输出
对于每个时间点,我需要有一个输出。
time=seq(0,10, by=1)
mat1 <- matrix(data = rexp(9, rate = 10), nrow = 3, ncol = 3)
mat2 <- matrix(data = rexp(9, rate = 10), nrow = 3, ncol = 3)
mat3 <- matrix(data = rexp(9, rate = 10), nrow = 3, ncol = 3)
我想当time <= 3“mat1”被选中
当time>3 & time<=6 "mat2" 被选中
而当time >6"mat3"被选中然后乘以2。
我知道这一切有点粗略,但我们将不胜感激。
【问题讨论】:
-
mylist <- list(mat1, mat2, mat3); lapply(mylist[findInterval(time, c(-Inf, 3, 6, Inf))], "*", 2) -
亲爱的罗兰。感谢您的时间。我非常感谢。如果我想在每个时间点提取相应的垫子,特别是第二行垫子 [,2] 并将其相乘,我该怎么做?你有想法吗?现在它是一个列表格式