У меня есть несколько файлов .txt, каждый из которых представляет некоторые параметры в следующем формате
Parameter1 = structure(list(Year = 1969:1974, Jan = c(16.6, 15.6, 15.8, 16.9,
16.2, 15.4), Feb = c(17, 15.2, 16.6, 14.8, 12.9, 17.9), Mar = c(14.2,
13.3, 16.9, 14.9, 15.5, 13.4), Apr = c(11.6, 10.7, 10.7, 11.6,
10.3, 9.7), May = c(9.9, 9.2, 9.7, 9.6, 8.2, 8.8), Jun = c(7.6,
7.2, 7.1, 7.2, 6, 6.9), Jul = c(7, 6.7, 6.7, 6.9, 6.9, 5.2),
Aug = c(7, 7.2, 7.2, 6.1, 6.8, 6.5), Sep = c(8.4, 7.6, 8.5,
7.3, 6.6, 6.8), Oct = c(10.4, 8.5, 8.5, 9.1, 8.3, 7.7), Nov = c(14,
12.2, 12.9, 12.2, 10.8, 10.2), Dec = c(15.5, 16.7, 15.9,
15.5, 13.2, 15.4), Annual = c(11.6, 10.8, 11.4, 11, 10.1,
10.3), winter = c(16.8, 15.4, 16.2, 15.8, 14.5, 16.6), premonsoon = c(11.9,
11.1, 12.4, 12, 11.3, 10.6), monsoon = c(7.5, 7.2, 7.3, 6.8,
6.6, 6.3), postmonsoon = c(13.3, 12.5, 12.5, 12.2, 10.7,
11.1)), row.names = c(NA, 6L), class = "data.frame")
Я хочу melt
эти файлы .txt и объединить их в один файл, подобный следующему формату
Я мог бы выполнить операцию изменения формы для одного файла, например
A <- read.delim("Parameter1.txt", sep="\t")
Transpose <- t(A)
colnames(Transpose) = Transpose[1, ] # the first row will be the header
Transpose = Transpose[-1, ] # removing the first row.
arranged_data <- melt(Transpose)
melt(A)
head(arranged_data)
Arranged_data <- data.frame(cbind(arranged_data$X2,as.character(arranged_data$X1),arranged_data$value))
colnames(Arranged_data) <- c("Year","Month","Parameter1")
head(Arranged_data)
#Removing the seasonal and annual data
Final <- subset(Arranged_data, !Month %in% c("postmonsoon","monsoon","premonsoon","winter","Annual"))
numMonth<-function(x)c(JAN=1,FEB=2,MAR=3,APR=4,MAY=5,JUN=6,JUL=7,AUG=8,SEP=9,OCT=10,NOV=11,DEC=12)
Final$Month <- numMonth(Final$Month)
write.csv(Final,"arranged_data_TAMILNADU.csv",row.names = F)
Теперь, как применить его к нескольким .txtфайлы и получить вывод в один файл.