R cant l oop объединить каталог и имя файла - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь l oop вставить путь к папке каталога и имена некоторых файлов csv из этой папки ниже, но получаю ошибку. Пожалуйста, помогите!

#

# Create String of Directory fpath

strdir <- getwd()

vec_files <- dir(path = getwd(), pattern = "*.csv") 

# Loop

for (i in 1:length(vec_files)) {

  print0(strdir,"/",vec_files[[i]], sep = "")

}

Возвращает ошибку ниже:

Ошибка в print.default (strdir, "/", vec_files [[i]], sep = ""):
недопустимые печатные цифры -2147483648 Дополнительно: Предупреждение: в print.default (strdir, "/", vec_files [[i]], sep = ""): НП введены принуждением

1 Ответ

2 голосов
/ 06 мая 2020

Как упоминалось @teofil, вы, вероятно, захотите использовать paste0 вместо print0, поскольку функции с именем print0 нет. Более того, даже после использования paste0 l oop ничего не напечатает, поскольку в for l oop вам нужно явно распечатать объекты, поэтому оберните другой print или cat вокруг paste0, чтобы он работай.

Однако в действительности этого делать не нужно. dir() и list.files() имеют параметр full.names, который дает полный путь к файлам, если установлен на TRUE.

vec_files <- dir(path = getwd(), pattern = "\\.csv$", full.names = TRUE)

Также обратите внимание, что если вы читаете из своего рабочего каталога, вам не обязательно нужен полный путь к файлу, хотя это хорошая привычка всегда работать с полным путем.

...