在R中制作向量列表

时间:2017-07-10 05:52:56

标签: r vector

是否有最快捷的方式在R中制作如下列表? 数字1到18,两个元素分组。

assign

2 个答案:

答案 0 :(得分:2)

我们可以使用split

创建的分组变量使用gl执行此操作
unname(split(v1, as.integer(gl(length(v1), 2, length(v1)))))

或使用%/%创建分组变量

unname(split(v1, (seq_along(v1)-1) %/% 2))

数据

v1 <- 1:18

答案 1 :(得分:2)

OP已经要求最快的方式来制作列表。我想&#34;快速&#34;是指键入代码而不是执行速度。

可以使用dt1[dt2, column1 := i.column1, on = .(index_column)] dt1 # index_column column1 column2 #1: 12 dog 482 #2: 17 cat 391 #3: 29 penguin 567 #4: 34 elephant 182 #5: 46 bird 121 lapply()的组合创建向量列表:

seq()

这种方法的更简洁的变体是

lapply(seq(1, 18, by = 2), seq, length.out = 2)

在我看来,这比分裂需要引入分组变量要简单得多。