重塑R中的矩阵并将每n行转换为一行

时间:2019-03-21 17:05:18

标签: r reshape melt dcast

我有一个数据框df,例如:

year     location
1           A
2           B
3           C
------------------
1           X
5           A
10          F
------------------
3          F
5          x
2          y

我想将其重塑为

year_1  location_1     year_2   location_2    year_3  location_3
1         A             2         B               3      F
3         C             1         X               5      X
5         A             10        F               2      Y

我可以进行黑客攻击,并连接前两列,然后执行

d <- matrix(df, nrow = 70, byrow = FALSE)

但是稍后我又不得不拆分连接的内容,这样做有一种整洁的方法吗?

1 个答案:

答案 0 :(得分:1)

如何拆分和重组:

INSERT INTO GST_TempDelete 
VALUES ('14:50:07', '1', '21/03/2019', 'TEST', 'TEST', '00000', '54141')

与强制转换为矩阵和反强制转换为数据框相比,这将具有优势,即不会因因子或字符弄乱类而产生任何困难。使用矩阵作为中介首先会失去所有层次,并且如果您同时具有字符和因素,那么您将陷入混乱的困境。

如果您需要确切的结果,则可能需要对列名进行一些调整,如果您发布了可复制粘贴的[MCVE],我很乐意为您提供帮助