Я провел несколько экспериментов, которые проанализировал с помощью нашего программного обеспечения.
Это программное обеспечение выдает для каждого эксперимента отдельную папку, содержащую файл .txt, который называется «DistList», если программное обеспечение могло анализировать изображения. Если это не удалось сделать, файл .txt отсутствует.
В общем случае расположение папок выглядит так, если есть DistList:

Чтобы собрать все эти файлы .txt, я уже создал скрипт R:
setwd("~/Desktop/Results/.")
fileList <- list.files(path = ".", recursive = TRUE, pattern = "DistList.txt", full.names = TRUE)
listData <- lapply(fileList, read.table)
names(listData) <- basename(dirname(fileList))
library(tidyverse)
library(reshape2)
bind_rows(listData, .id = "FileName") %>%
group_by(FileName) %>%
mutate(rowNum = row_number()) %>%
dcast(rowNum~FileName, value.var = "V1") %>%
select(-rowNum) %>%
write.csv(file="Result.csv")
В этой форме теперь выдается документ со следующей структурой, поскольку в A03 и A04 нет файла DistList.txt:
A01 A02 A05
103 118 558
225 545 779
228 666 898
553 1002 1883
966 2004 NA
1112 3332 NA
NA 4556 NA
NA 5596 NA
NA 6639 NA
Однако мне хотелось бы иметь список, в котором папки, не содержащие документ DistList.txt, также перечислены в результирующем файле .csv, например:
A01 A02 A03 A04 A05
103 118 NA NA 558
225 545 NA NA 779
228 666 NA NA 898
553 1002 NA NA 1883
966 2004 NA NA NA
1112 3332 NA NA NA
NA 4556 NA NA NA
NA 5596 NA NA NA
NA 6639 NA NA NA
Но я не знаю, как мне изменить свой сценарий таким образом, чтобы он вывел такой список. Это было бы не проблема, если бы у меня было очень мало экспериментов. Но в моем случае таких столбцов несколько сотен, и проверка вручную, если что-то пропущено, займет слишком много времени.
Буду очень признателен, если вы поможете мне с этой проблемой!