如何从r中的列表中的每个元素中删除最后n个组件

时间:2019-06-04 18:08:26

标签: r list

我有一个名为x.2的向量,我提供了100个值的样本

head(x.2, n=100)
  [1]   6  10  12  14  15  18  20  21  22  24  26  28  30  33  34  35  36  38  39  40  42  44  45  46  48  50

[27]  51  52  54  55  56  57  58  60  62  63  65  66  68  69  70  72  74  75  76  77  78  80  82  84  85  86

[53]  87  88  90  91  92  93  94  95  96  98  99 100 102 104 105 106 108 110 111 112 114 115 116 117 118 119

[79] 120 122 123 124 126 129 130 132 133 134 135 136 138 140 141 142 143 144 145 146 147 148

具体载体并不重要。

我找到了整数至少连续三个数字的所有位置。为此,我使用了

L<-split(x.2, cumsum(c(1, diff(x.2) != 1)))

L.2<-L[lengths(L)>2]

L.2 has a bunch of elements with different lengths

L.2
$`6`
[1] 20 21 22

$`11`
[1] 33 34 35 36

$`12`
[1] 38 39 40

$`14`
[1] 44 45 46

$`16`
[1] 50 51 52

$`17`
[1] 54 55 56 57 58
...

问题: 您如何从每个元素中删除最后n个整数?

示例: n = 2

> $`6` [1] 20
> 
> $`11` [1] 33 34
> 
> $`12` [1] 38
> 
> $`14` [1] 44
> 
> $`16` [1] 50
> 
> $`17` [1] 54 55 56 ...

然后如何将其折叠回向量?

谢谢!

奥斯丁

0 个答案:

没有答案