重新排序数据帧值

时间:2013-07-24 03:43:01

标签: r dataframe

我有 data frame (标题为EMG),其中包含值(例如,从a到u),其组织方式如下:< / p>

a d g j m p s
b e h k n q t
c f i l o r u

相反,我希望它像这样组织

a b c d e f g
h i j k l m n
o p q r s t u

我不能使用转置,因为这将转置整个数据帧。有没有办法水平重新排序值而不是垂直?

由于

2 个答案:

答案 0 :(得分:4)

如果您的所有列都是相同的type,那么您可以unlist数据框,创建一个由行填充的矩阵(不是默认的列),然后重新强制到data.frame。

例如

as.data.frame(matrix(unlist(EMG),nrow=3,byrow=TRUE))
##   V1 V2 V3 V4 V5 V6 V7
## 1  a  b  c  d  e  f  g
## 2  h  i  j  k  l  m  n
## 3  o  p  q  r  s  t  u

答案 1 :(得分:1)

假设您的数据框为df,请尝试:

t(matrix(unlist(df), nrow=ncol(df)))