#r #list #&sub #sapply
#r #Список #&sub #sapply
Вопрос:
Привет, извините за вопрос новичка, но я боролся с чем-то простым и не могу с этим разобраться… Мне нужно импортировать несколько csv-файлов из папки и объединить их все с помощью bind_rows таким образом, чтобы имя исходного файла было отнесено к соответствующему набору данных, с именем в качестве ‘id’ в первом столбце. Это работает просто отлично, за исключением того, что я не могу избавиться от расширения файла .csv! так расстраивает. Мне чего-то не хватает в этом коде? Спасибо за вашу помощь.
#Create file paths to read in multiple water level spreadsheets
fileNames <- list.files(path="N:\Projects and project proposals\water level", recursive=TRUE, full.names=TRUE)
file.list <- list.files(pattern='*.csv')
file.list <- &sub(pattern = "$.csv", "", file.list)
df.list <- sapply(file.list, read.csv, simplify=FALSE)
df <- bind_rows(df.list, .id = "id")
Комментарии:
1. Ваш
&sub
немного не в себе. Вам нужно передать имя заполнения, чтобы выsapply
не удаляли расширение в ближайшее время. После привязки строк вы можете удалить расширение из имени:df$id <- &sub(pattern = "\.csv$", "",df$id)
2. это сработало, большое спасибо!!