如何将每个替代行带到下一列

时间:2019-02-21 04:35:30

标签: r

我有这样的数据

df<- structure(list(X1 = structure(c(6L, 4L, 5L, 3L, 1L, 2L), .Label = c(">sp1", 
"CQLSKG", "KLALQLHP", "MVEAI", "SV=1", "SV=2"), class = "factor")), class = "data.frame", row.names = c(NA, 
-6L))

我想要这样的输出。因此,第一行保持不变,然后第二行位于下一列的第一行之前。然后每行都排在最前面

       X1  X2
1     SV=2 MVEAI   
2     SV=1 KLALQLHP
3     >sp1 CQLSKG

2 个答案:

答案 0 :(得分:3)

这将起作用

data.frame(X1 = unlist(df)[c(TRUE,FALSE)], X2 = unlist(df)[!c(TRUE,FALSE)])

      X1       X2
X11 SV=2    MVEAI
X13 SV=1 KLALQLHP
X15 >sp1   CQLSKG

答案 1 :(得分:1)

您可以尝试:

data.frame(t(matrix(unlist(df), 2)))

    X1       X2
1 SV=2    MVEAI
2 SV=1 KLALQLHP
3 >sp1   CQLSKG