假设我有两个数组,array1和array2,看起来像
数组1
45 46 47 48 49 50
1.0 1.5 1.3 1.2 0.9 1.1
Run Code Online (Sandbox Code Playgroud)
数组2
45 46 47 48 49 50
2.5 5.5 4.5 5.8 1.5 8.4
Run Code Online (Sandbox Code Playgroud)
我想将它们合并到一个看起来像这样的数据框中:
1.0 2.5
1.5 5.5
1.3 4.5
1.2 5.8
0.9 1.5
1.1 8.4
Run Code Online (Sandbox Code Playgroud)
数字45到50并不重要.
May*_*you 12
array1 <- c(1.0,1.5,1.3,1.2,0.9,1.1)
array2 <- c(2.5,5.5,4.5,5.8,1.5,8.4)
result = cbind(array1, array2)
Run Code Online (Sandbox Code Playgroud)
如果您不希望看到任何列名称或行名称(如问题中所述),则应执行以下操作:
result = as.matrix(cbind(array1, array2))
dimnames(result) <-list(rep("", dim(result)[1]), rep("", dim(result)[2]))
Run Code Online (Sandbox Code Playgroud)
你得到:
> result
1.0 2.5
1.5 5.5
1.3 4.5
1.2 5.8
0.9 1.5
1.1 8.4
Run Code Online (Sandbox Code Playgroud)
您应该能够组合?rbind和?t,或者仅?cbind根据数据的格式使用。
例如:
new.array <- t(rbind(array1,array2))
Run Code Online (Sandbox Code Playgroud)
或者
new.array <- cbind(array1,array2)
Run Code Online (Sandbox Code Playgroud)
或者
new.arrray <- data.frame(array1,array2)
Run Code Online (Sandbox Code Playgroud)
如果你有两个向量,cbind这是最好的方法。但是,假设您有两个数据框。IE:
array1 <- t(data.frame(array1=c(1.0,1.5,1.3,1.2,0.9,1.1)))
array2 <- t(data.frame(array2=c(2.5,5.5,4.5,5.8,1.5,8.4)))
Run Code Online (Sandbox Code Playgroud)
使用cbind不会给出所需的输出,您将需要组合t和rbind。
> cbind(array1,array2)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
array1 1 1.5 1.3 1.2 0.9 1.1 2.5 5.5 4.5 5.8 1.5 8.4
> t(rbind(array1,array2))
array1 array2
[1,] 1.0 2.5
[2,] 1.5 5.5
[3,] 1.3 4.5
[4,] 1.2 5.8
[5,] 0.9 1.5
[6,] 1.1 8.4
Run Code Online (Sandbox Code Playgroud)