我有以下数据框:
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
答案 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;
}
如果我的代码中有任何不清楚的内容,请随时提出。希望这有帮助! :)