我有关于生成矢量的问题。应该有一个奇特的方法来实现这一目标,但我有点迷失在搞清楚。如果有人能帮助我,我真的很感激你的帮助。谢谢!
假设我有两个存储索引的向量:
start <- c(11, 26, 55, 110)
end <- c(16, 33, 60, 120)
其中start变量是起始索引,而end变量是结束索引。
是否有一种奇特的方式而不是for循环来创建这样的向量列表:
[11,12,13,14,15,16]
[26,27,28,29,30,31,32,33]
[55,56,57,58,59,60]
[110,111,112,113,114,115,116,117,118,119,120]
答案 0 :(得分:2)
mapply(":", start, end, SIMPLIFY = FALSE)
#OR
lapply(1:length(start), function(i) start[i]:end[i])
#OR
apply(cbind(start, end), 1, function(x) x[1]:x[2])
#[[1]]
#[1] 11 12 13 14 15 16
#[[2]]
#[1] 26 27 28 29 30 31 32 33
#[[3]]
#[1] 55 56 57 58 59 60
#[[4]]
# [1] 110 111 112 113 114 115 116 117 118 119 120