Возможно, я неправильно понимаю вашу проблему, но вы, похоже, неправильно используете функцию tk_choose.dir
. Он возвращает строку с именем каталога, но вы пытаетесь провести через него l oop, как если бы он был вектором имен файлов.
Следующий код выполняется должным образом, открывая одно окно, которое позволяет мне чтобы выбрать каталог, затем возвращает список фреймов данных, созданных из всех файлов CSV в этом каталоге:
x <- list()
if (obs1) {
if (obs2) {
file.choose()
} else {
Dir <- tk_choose.dir(caption = "Select the folder where files are located")
file.names <- paste0(Dir, "/", list.files(Dir, pattern = "*.csv"))
for (i in 1:length(file.names))
{
x[[i]] <- read.csv(file = file.names[i])
}
}
}
, который после выбора каталога с одним CSV дает мне:
str(x)
List of 1
$ :'data.frame': 107 obs. of 4 variables:
..$ unit : Factor w/ 2 levels "Barnsley","Sheffield": 2 2 2 2 2 2 2 2 2 2 ...
..$ sex : Factor w/ 2 levels "Female","Male": 2 2 1 2 1 1 2 2 1 1 ...
..$ age : int [1:107] 47 48 19 66 67 83 38 40 84 68 ...
..$ arrivals : Factor w/ 50 levels "2015-10-16 00:00:00",..: