7

假设我有两个数组,array1 和 array2,看起来像

数组1

        45    46   47    48    49    50
        1.0   1.5  1.3   1.2   0.9   1.1

数组2

        45    46   47    48    49    50
        2.5   5.5  4.5   5.8   1.5   8.4

我想将它们合并到一个数据框中,如下所示:

       1.0  2.5
       1.5  5.5
       1.3  4.5
       1.2  5.8
       0.9  1.5
       1.1  8.4

数字 45 到 50 无关紧要。

4

3 回答 3

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)

如果您不想看到任何列名或行名(如您的问题中发布的那样),您应该执行以下操作:

 result = as.matrix(cbind(array1, array2)) 
 dimnames(result) <-list(rep("", dim(result)[1]), rep("", dim(result)[2]))

你得到:

 > 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
于 2013-08-23T16:41:45.477 回答
1

您应该能够组合?rbindand ?t,或者仅?cbind根据数据格式使用。

例如:

new.array <- t(rbind(array1,array2))

或者

new.array <- cbind(array1,array2)

或者

new.arrray <- data.frame(array1,array2)

如果你有两个向量,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)))

使用cbind不会提供所需的输出,您将需要组合trbind

> 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
于 2013-08-23T16:40:01.190 回答
-3

您可以通过以下给定代码合并到数组,并可以以所需的格式显示。

            for (int i = 45; i <=50; i++)
            {

                float[] merge = { array1[i], array2[i] };

            }
           // to display in required format

            for (int j =0; i <merge.Length; i++)
            {

                Console.WriteLine(merge[i]);

            } 
于 2013-08-23T17:03:30.263 回答