使用一列转置多行

时间:2015-06-18 10:24:26

标签: r transpose

我有以下数据框:

serverInputSocket = serverSocket.accept();

我想将这五行换成一列,如下所示:

a<-c(2,1,3,6,7)
b<-c(3,1,4,5,8)
c<-c(9,2,5,4,7)



d<- data.frame(a,b,c)
      a b c
    1 2 3 9
    2 1 1 2
    3 3 4 5
    4 6 5 4
    5 7 8 7

2 个答案:

答案 0 :(得分:1)

试试这个:

matrix(t(d),ncol=1)

转置data.frame并重新定义为1列的矩阵。

感谢@DavidArenburg,我们也可以这样做:

c(t(d))

答案 1 :(得分:0)

让我们假设有一个二维阵列需要按照你提到的方式进行操作。让我们调用数组样本[rows] [cols],其中rows和cols是井,行和列的大小。我将在C ++中给出一个函数的示例代码,它将返回最终的列向量,因为它将是一个数组,您基本上可以将其用作所需的列向量。

    int ret_col(int sample[][])
    {
           int i,j,k=0;
           int final_column[rows*cols];

           for(i=0;i<cols;i++)
           {
               for(j=0;j<rows;j++)
               {
                   final_column[k++]=a[j][i];
               }
           }

           return final_column;
    }

如果我的代码中有任何不清楚的内容,请随时提出。希望这有帮助! :)