我想转换矢量
par<-c(0.5, 0.7, 0.9, 1.0, 1.8, 1.5)
到一个包含三个元素的列表中,每个元素由par向量中的两个值组成。本质上,List应该看起来像
$X1
[1] 0.5 0.7
$X2
[1] 0.9 1.0
$X3
[1] 1.8 1.5
此
as.list(data.frame(matrix(par, ncol=3, byrow=FALSE)))
是我提出的唯一方法,但必须有更好的方法!
答案 0 :(得分:3)
split
可能是最适合此类任务的函数:
split(par, rep(1:3,each=2) )
#$`1`
#[1] 0.5 0.7
#
#$`2`
#[1] 0.9 1.0
#
#$`3`
#[1] 1.8 1.5
答案 1 :(得分:0)
试试这个:
x <-c(0.5, 0.7, 0.9, 1.0, 1.8, 1.5)
lapply(1:(length(x)/2), function(i) x[i:(i+1)])