R将一行切成等长的多行
我想剪一排 x=[123456789910112] 分为多个等长的行,以便 y(第1行)=[1 2 3 4 y(第2行)=5 6 7 8 y(第3行)=9 10 11 12] 我知道我可以使用rbind和cbind的组合来实现这一点,但我尝试将其应用到的数据集比示例要大得多,因此我正在寻找一种更快速、更自动地实现这一点的方法。我试着剪了又剪,但那些也不起作用R将一行切成等长的多行,r,R,我想剪一排 x=[123456789910112] 分为多个等长的行,以便 y(第1行)=[1 2 3 4 y(第2行)=5 6 7 8 y(第3行)=9 10 11 12] 我知道我可以使用rbind和cbind的组合来实现这一点,但我尝试将其应用到的数据集比示例要大得多,因此我正在寻找一种更快速、更自动地实现这一点的方法。我试着剪了又剪,但那些也不起作用 jelle使用矩阵: > y <- 1:12 > y [1] 1 2 3 4 5 6 7 8 9 1
jelle使用
矩阵
:
> y <- 1:12
> y
[1] 1 2 3 4 5 6 7 8 9 10 11 12
> matrix(y,3,4,byrow=1)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
>y
[1] 1 2 3 4 5 6 7 8 9 10 11 12
>矩阵(y,3,4,byrow=1)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
编辑:我将
byrow=TRUE
参数包含在matrix
(由Chase在注释中指出)中,该参数沿行而不是列填充矩阵。使用matrix
:
> y <- 1:12
> y
[1] 1 2 3 4 5 6 7 8 9 10 11 12
> matrix(y,3,4,byrow=1)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
>y
[1] 1 2 3 4 5 6 7 8 9 10 11 12
>矩阵(y,3,4,byrow=1)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
编辑:我将byrow=TRUE
参数包含在matrix
(Chase在评论中指出)中,该参数沿行而不是列填充矩阵。函数matrix()
是您的朋友:
> matrix(1:12, nrow = 3, byrow = TRUE)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
请注意可选参数,byrow
。默认值为FALSE,将按列填充矩阵,在本例中,将其设置为true将按您描述的顺序排列数据。需要注意的是,如果按列填充,R不会抛出错误,但您的数据格式不正确 函数matrix()
是您的朋友:
> matrix(1:12, nrow = 3, byrow = TRUE)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
请注意可选参数,
byrow
。默认值为FALSE,将按列填充矩阵,在本例中,将其设置为true将按您描述的顺序排列数据。需要注意的是,如果按列填充,R不会抛出错误,但您的数据格式不正确 仅供参考,为了匹配OP的输出,您需要按行填充。仅供参考,为了匹配OP的输出,您需要按行填充。我感觉这是一个伪代码,但您在问题中定义x的方式不是有效的R语法。使用x我感觉这是一个伪代码,但是您在问题中定义x的方式不是有效的R语法。使用x