我有一个数字列表(实际上是索引位置),如下所示:
> original
[[1]]
[1] 99 100
[[2]]
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
[[3]]
[1] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
[[4]]
[1] 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
我希望返回另一个列表,该列表根据子列表的长度复制原始列表中的每个索引。具体来说,结果应该类似于:
> result
[[1]]
[1] 1 1
因为 1 是原始索引,且其长度为2。
[[2]]
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
因为2是原始文本的索引,其长度为26。
[[3]]
[1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
因为3是原始索引,其长度为27。 在我的理解中,只要我能够访问索引位置,它应该看起来像这样:
lapply(original, function(x) rep(index(x), length(x)))
这个问题的失败原因是我似乎无法以这种方式(以及其他任何尝试过的方式)访问lapply中列表的索引。
有人做过这样的尝试吗?