Мне очень жаль, если название вводит в заблуждение, так как я не знаю, как это правильно объяснить (не знаю, какой будет терминология).
У меня есть некоторые данные, которые в основном выглядят так:
a<-c('AA01','AA02','AB01')
b<-c('AA','AA','AB')
c<-c('Y','N','N')
d<-c(1,2,3)
e<-c(4,5,6)
f<-c(7,8,9)
g<-c(11,22,33)
h<-c(44,55,66)
i<-c(77,88,99)
cols<-c("SampID","Characteristic1","Characteristic2","Mes1Rep1","Mes1Rep2","Mes1Rep3","Mes2Rep1","Mes2Rep2","Mes2Rep3")
df<-data.frame(a,b,c,d,e,f,g,h,i)
colnames(df)<-cols
df
SampID Characteristic1 Characteristic2 Mes1Rep1 Mes1Rep2 Mes1Rep3 Mes2Rep1 Mes2Rep2 Mes2Rep3
1 AA01 AA Y 1 4 7 11 44 77
2 AA02 AA N 2 5 8 22 55 88
3 AB01 AB N 3 6 9 33 66 99
В этом примере Mes1Rep1 относится к первой копии типа измерения, Mes2Rep2 ко второй копии этого измерения и т. Д. Я хотел бы разместить реплики в столбцах вместо этого. Нечто подобное:
SampID Characteristic1 Characteristic2 Replicates Measurement1 Measurement2
1 AA01 AA Y Rep1 1 11
2 AA01 AA Y Rep2 4 44
3 AA01 AA Y Rep3 7 77
4 AA02 AA N Rep1 2 22
5 AA02 AA N Rep2 5 55
6 AA02 AA N Rep3 8 88
7 AB01 AB N Rep1 3 33
8 AB01 AB N Rep2 6 66
9 AB01 AB N Rep3 9 99
Как бы я поступил так в R? Я думаю, что я могу просто транспонировать сами строки, но есть ли способ также автоматически скопировать избыточные значения (например, «SampID» в этом примере)?
Или нет другого выбора, кроме как сделать это вручную?
Спасибо, что нашли время, чтобы прочитать это, и за то, что предложили свою помощь и / или руководство!