【发布时间】:2017-08-10 23:21:52
【问题描述】:
我想使用名称列转置数据框以创建新的列名。这是我的意见:
Name X Y Z
sample1_A 1 2 3
sample1_B 3 2 1
sample2_A 1 2 3
sample2_B 3 2 1
预期输出:
Name XA XB YA YB ZA ZB
sample1 1 3 2 2 3 1
sample2 1 3 2 2 3 1
我虽然可以转置函数,但我不确定如何处理列名和行名。
提前致谢!
【问题讨论】:
-
这些真的是
row.names还是一个名为Name的列?你展示它的方式使它看起来像后者。您能否与dput()共享数据,以便复制/粘贴且结构明确? -
其实是后者,你建议在帖子里怎么称呼,让我编辑一下?
-
试试
library(tidyverse); df %>% separate(Name, into = c("Sample", "Name")) %>% gather(Key, Value, -Sample, -Name) %>% unite(Res, Key, Name, sep = "") %>% spread(Res, Value) -
我只想说“...使用我的
Name列的一部分来创建新的列名”。