我有这个载体:
x <-c(0.2, 0.9, 1.5, 3.9, 1.1, 1.6, 0.9, 1.9, 0.5, 4.8,0.5, 0.9, .5, 5.9, 1.1, 1.6, 0.9, 2.9, 0.6, 3.8)
我想将其转换为两个向量,每个向量仅包含10
个数字。
我想要的预期输出是这样的:
[1] 0.2 0.9 1.5 3.9 1.1 1.6 0.9 1.9 0.5 4.8
[1] 0.5 0.9 0.5 5.9 1.1 1.6 0.9 2.9 0.6 3.8
答案 0 :(得分:2)
使用split()
的简单解决方案:
x <- c(0.2, 0.9, 1.5, 3.9, 1.1, 1.6, 0.9, 1.9, 0.5, 4.8,0.5, 0.9, .5, 5.9, 1.1, 1.6, 0.9, 2.9, 0.6, 3.8)
lengthOfVector <- 10
res <- split(x, 0:(length(x) - 1) %/% lengthOfVector)
要访问结果,您可以使用res[[1]]
[1] 0.2 0.9 1.5 3.9 1.1 1.6 0.9 1.9 0.5 4.8
答案 1 :(得分:0)
> x1=x[seq(1,0.5*length(x))]
> x1
[1] 0.2 0.9 1.5 3.9 1.1 1.6 0.9 1.9 0.5 4.8
> x2=x[seq(0.5*length(x),length(x))]
> x2
[1] 4.8 0.5 0.9 0.5 5.9 1.1 1.6 0.9 2.9 0.6 3.8
答案 2 :(得分:0)
经过一番研究后,我发现有一种简单的方法可以完成这项任务。
那是:
x <-c(0.2, 0.9, 1.5, 3.9, 1.1, 1.6, 0.9, 1.9, 0.5, 4.8,0.5, 0.9, .5, 5.9, 1.1, 1.6, 0.9, 2.9, 0.6, 3.8)
x1 <- x[1:10]
x2 <- x[2:20]