У меня очень большой фрейм данных (121920 obs из 7 переменных).Все переменные являются факторами.Фрейм данных выглядит следующим образом (с большим количеством строк и разных уровней для каждой переменной):
metaDATA:
SITE SOIL TIME HOST TISSUE TEMP MEDIA
MSHM1 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM2 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM3 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM4 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM5 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM6 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM7 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM8 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
Я хочу объединить каждые 4 строки в 1 строку в новом фрейме данных,Примерно так:
MSHM1 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM4 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM8 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
MSHM12 Sorkhe Gypsum Soil 2016-Winter Acantholimon sp. Leaf 23 PDA
Или оставить только 1 из каждых 4 строк, поскольку они имеют одинаковый уровень каждой переменной.
Я пробовал:
S1<-seq(1,121920,4)
S2<-seq(4,121920,4)
D<-matrix(0,length(S1),7)
for (i in 1:length(S1)) {
D[i,1]<-noquote(paste(metaDATA[S1[i]:S2[i],1]))
D[i,2]<-noquote(paste(metaDATA[S1[i]:S2[i],2]))
D[i,3]<-noquote(paste(metaDATA[S1[i]:S2[i],3]))
D[i,4]<-noquote(paste(metaDATA[S1[i]:S2[i],4]))
D[i,5]<-noquote(paste(metaDATA[S1[i]:S2[i],5]))
D[i,6]<-noquote(paste(metaDATA[S1[i]:S2[i],6]))
D[i,7]<-noquote(paste(metaDATA[S1[i]:S2[i],7]))
}
Ноэто не сработало, и я получил эту ошибку:
Error in D[i, 6] <- noquote(paste(metaDATA[S1[i]:S2[i], 6])) :
number of items to replace is not a multiple of replacement length