У меня есть большое количество файлов CVS, которые нужно привести в порядок, удалив все строки, которые не указаны в определенном столбце. Поэтому вместо того, чтобы открывать каждый из них вручную в Excel, я хочу знать, возможно ли написать код R, который будет:
- Загрузить все файлы CSV из папки в R
- Удалить все строки, которые не указаны в определенном столбце («Ошибка») для каждого файла данных отдельно
- Изменить все оставшиеся н / д на ""
- Сохранение приведенных данных в виде отдельных файлов Excel (с сохранением оригинальных имен плюс немного в конце, чтобы я мог отличить RAW-файл от обработанного)
Я могу выполнить описанные выше действия для отдельного файла, но мне не очень повезло, расширив свой код, чтобы сделать то же самое для нескольких файлов CSV.
Это то, что у меня сейчас, если я делаю файлы по одному:
setwd('#folderlocation')
df <- read.csv("#filename",
header=TRUE)
working <- df[!is.na(df$Error),]
working <- sapply(working, as.character)
working[is.na(working)] <- ""
library(xlsx)
write.xlsx(working,"test.xlsx")
Мне удалось импортировать список файлов, используя этот код:
temp=list.files(pattern=".CSV")
for(i in 1:length(temp)){assign(temp[i],read.csv(temp[i]))}
но я застрял в том, как мне поступить оттуда.
Конечный результат, который мне нужен, заключается в том, что каждый файл, обработанный с использованием кода, не будет содержать пустых строк в столбце «Ошибка» и будет сохранен в виде файла Excel.
Я ни в коем случае не хочу объединять кадры данных, так как это будет слишком беспорядочным, пытаясь распутать, какие данные принадлежат какому файлу.
Спасибо за вашу помощь, ребята: -)