r - 在 R 中创建一组长度递减的序列

标签 r sequence

我想制作一组从 x 到 20 的序列,其中 x = c(2:19)。我想要这个,本质上,但不必这样做:

a = seq(2, 20)
b = seq(3, 20)
...
q = seq(18, 20)
r = seq(19, 20)

> a
 [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
> b
 [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
...
> q
[1] 18 19 20
> r
[1] 19 20`

我已经尝试使用 for 循环,但我无法找到替代品:
a = c(2:20)
b = numeric()
for (i in 1:19){
b = seq(a[i]:20)
}

有什么帮助吗?

最佳答案

sapply(2:19, seq, to = 20)

[[1]]
 [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

[[2]]
 [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

[[3]]
 [1]  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

[[4]]
 [1]  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

[[5]]
 [1]  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

[[6]]
 [1]  7  8  9 10 11 12 13 14 15 16 17 18 19 20

[[7]]
 [1]  8  9 10 11 12 13 14 15 16 17 18 19 20

[[8]]
 [1]  9 10 11 12 13 14 15 16 17 18 19 20

[[9]]
 [1] 10 11 12 13 14 15 16 17 18 19 20

[[10]]
 [1] 11 12 13 14 15 16 17 18 19 20

[[11]]
[1] 12 13 14 15 16 17 18 19 20

[[12]]
[1] 13 14 15 16 17 18 19 20

[[13]]
[1] 14 15 16 17 18 19 20

[[14]]
[1] 15 16 17 18 19 20

[[15]]
[1] 16 17 18 19 20

[[16]]
[1] 17 18 19 20

[[17]]
[1] 18 19 20

[[18]]
[1] 19 20

如果要保存对象并为每个元素命名
res <- sapply(2:19, seq, to = 20)
names(res) <- letters[1:length(res)]

关于r - 在 R 中创建一组长度递减的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375431/

相关文章:

c - 找到最长的非递减子序列

mysql 如何创建按字母顺序排列的数字 A1、A2、A3 等

objective-c - 使用不同的节点运行 SKActions 序列

r - 计算对函数的调用次数(不明确)

r - 连接没有重复的数据框 r

r - "could not find function"仅在 R 调试器中时

algorithm - 重新创建序列

r - 在YAML中使用R代码或Windows用户变量("%userprofile%")?

r - 混合效应逻辑回归 : different results with MASS and lme4

sql - postgresql -- Curval 不起作用,使用 PHP PDO