Запустить скрипт R итеративно - PullRequest
0 голосов
/ 22 октября 2018

У меня есть 70 файлов CSV с такими же столбцами, для которых я хочу сделать тот же процесс.По сути, я хочу импортировать, очистить, записать файл и удалить все переменные, а затем повторить для следующей.Потому что каждый из них имеет размер 0,5 Гб.не знаю, где именно его использовать.IE Как я могу реализовать приведенные выше коды для этого?

list.files(pattern="^events.*?\\.csv", full.names=TRUE, recursive=FALSE)
lapply(files, function(x) {
files <- function(df1)

})

1 Ответ

0 голосов
/ 22 октября 2018

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

library(tidyverse)
setwd("~/R/R-3.5.1/bin/i386")

files <- list.files(pattern="^events.*?\\.csv", full.names=TRUE, recursive=FALSE)

lapply(files, function(x) {

  df <- read.csv(x, header = TRUE, sep = ",")

  inds <- which(df$pc_no == "DELL")
  df[inds - 1, c("event_rep", "loc_id")] <- df[inds, c("pc_no", "cust_id")]
  df1 <- df[-inds, ]

  write.csv(df1, paste0('cleaned_', x), row.names = FALSE)

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...