Я бегу цикл через тысячи файлов провести Пейджел Lambdaзапись выход из цикла
files <- list.files(pattern=".txt")
column_names <- data.frame(files = "files", V1 = "V1", Lambda = "lamda", LogL = "logL", LogL10 = "logL10", pvalue = "P")
write.table(column_names, file = "output.csv", row.names = FALSE,
append = FALSE, col.names = FALSE, sep = ", ", quote = TRUE)
for(i in files){
graph <- read.table(i,header=F)
row.names(graph)<-graph[,1]
trait<-graph[,-1]
names(trait)<-row.names(graph)
result <- data.frame(t(c(files[i], phylosig(mytree, trait, method="lambda", test=TRUE, nsim=999))))
write.table(result, file = "output.csv", row.names = FALSE,
append = TRUE, col.names = FALSE, sep = ", ")
}
Моя цель, чтобы получить один выходной файл с 1 строка для результата каждого входного файла. Моего переменная результата выглядит следующим образом:
[1] "some data in x given as 'NA', dropping corresponding species from tree"
V1 lambda logL logL0 P
1 EOG7B0F7J.txt 6.610696e-05 -59.62533 -59.62509 1
мне нужно эти значения, чтобы быть в выходном файле и имени файла ввода (я не установил, что еще в моем цикле, я не знаю, как чтобы сделать это)
Так что я хотел бы, чтобы выход выглядеть следующим образом:
FileA V1 lambda logL logL0 P
FileB V1 lambda logL logL0 P
FileC V1 lambda logL logL0 P
Или что-то подобное - я был бы очень рад, если кто-то может помочь мне с этим
Большое спасибо
Существует опечатка в вашем 'data.frame' линии. –
Правда я исправил это! благодаря – user3188922