R 将数据帧从多个因素列重新构造为一个包含因素的列
您好,我的数据帧当前看起来如下:R 将数据帧从多个因素列重新构造为一个包含因素的列,r,dataframe,apply,tidyr,dplyr,R,Dataframe,Apply,Tidyr,Dplyr,您好,我的数据帧当前看起来如下: Clone ID Sequence Factor_1 Factor_2 Factor_3 clonename seq_data 1 5 4 clonename2 seq_data2 2 1 3 如何高效地重新构造数据帧,以便: Clone ID Sequence Factor Factor_populatio
Clone ID Sequence Factor_1 Factor_2 Factor_3
clonename seq_data 1 5 4
clonename2 seq_data2 2 1 3
如何高效地重新构造数据帧,以便:
Clone ID Sequence Factor Factor_population
clonename seq_data Factor_1 1
clonename seq_data Factor_2 5
...
clonename2 seq_data2 Factor_3 3
*为清晰起见,编辑了表格格式。关于StackOverflow的第一个问题,我尽了最大努力将问题表达清楚,因此对于那些试图帮助解决此问题的人表示歉意。我们可以使用
start_with
是一个函数,可以从中选择以字符串开头的列
library(dplyr)
library(tidyr)
dat2 <- dat %>%
gather(Factor, Factor_population, starts_with("Factor_"))
dat2
# Clone.ID Sequence Factor Factor_population
# 1 clonename seq_data Factor_1 1
# 2 clonename2 seq_data2 Factor_1 2
# 3 clonename seq_data Factor_2 5
# 4 clonename2 seq_data2 Factor_2 1
# 5 clonename seq_data Factor_3 4
# 6 clonename2 seq_data2 Factor_3 3
库(dplyr)
图书馆(tidyr)
dat2%
聚集(因子,因子人口,以(“因子”)开始)
dat2
#Clone.ID序列因子\群体
#1克隆名称序列数据系数1 1
#2克隆名称2序列数据2因子2
#3克隆名称序列数据因子2 5
#4克隆名称2序列数据2因子1
#5克隆名称序列数据因子3 4
#6克隆名称2序列数据2因子3
数据
dat <- read.table(text = "'Clone ID' Sequence Factor_1 Factor_2 Factor_3
clonename seq_data 1 5 4
clonename2 seq_data2 2 1 3",
header = TRUE, stringsAsFactors = FALSE)
dat感谢您的回答,并链接到您提供的其他解决方案!我不知道我处理的数据类型是“宽”格式。学到了很多!