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

Nig*_*use 3 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`
Run Code Online (Sandbox Code Playgroud)

我尝试使用for循环,但我无法让替换工作:

a = c(2:20)
b = numeric()
for (i in 1:19){
b = seq(a[i]:20)
}
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

dic*_*koa 15

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
Run Code Online (Sandbox Code Playgroud)

如果要保存对象并为每个元素指定名称

res <- sapply(2:19, seq, to = 20)
names(res) <- letters[1:length(res)]
Run Code Online (Sandbox Code Playgroud)