我创建了一个包含50个元素的向量列表aa。我需要将aa分为两个向量列表,分别称为bb和cc。 bb具有aa的前20个元素,而cc具有aa的后30个元素。我该怎么办?
创建原始矢量列表
aa <- list (sample (1:50))
aa
#[[1]]
# [1] 29 30 39 45 17 11 43 14 24 34 3 1 28 2 21 23 6 31 5 27 44 7 4 46 49 22 33 38 50 36 15 48 8 16 25 42 13 41 47
#[40] 37 26 32 35 9 18 10 20 40 19 12
对不起,我知道我的问题确实很基本。也许是因为问题太简单了,因此很难从互联网上找到解决方案。
答案 0 :(得分:0)
由于我无法直接回答这个问题,所以添加了答案。我们可以首先使用[[
子集列表,然后使用[
在列表中选择单个元素。
bb <- aa[[1]][1:20]
cc <- aa[[1]][21:50]
我们还可以使用head
和tail
分别选择前20个和后30个元素。
bb <- head(aa[[1]], 20)
cc <- tail(aa[[1]], 30)
答案 1 :(得分:0)
我们可以使用split
创建list
的{{1}}
vectors
并使用lst1 <- split(aa[[1]], rep(1:2, c(20, 30)))
[[
它可以扩展到任何数量的拆分(即通用版本),我们只需要更改lst[[1]]
lst1[[2]]