Чтение csv-файлов в цикле в R

#r #loops #csv #for-loop

#r #циклы #csv #для цикла

Вопрос:

Я пытаюсь прочитать файлы CSV, которые находятся в папке на моем компьютере, используя R. Это код, который я использую:

Сначала я создаю список с именами файлов, используя шаблон CSV. Элементы списка представлены в формате chr. Во-вторых, я перебираю файлы и создаю фрейм данных в R для каждого из файлов.

 files = list.files(pattern="*.csv")

> dput(files)
c("USC00020098.csv", "USC00020104.csv", "USC00020170.csv", "USC00020307.csv", 
"USC00020406.csv", "USC00020482.csv", "USC00020487.csv", "USC00020490.csv", 
"USC00020492.csv", "USC00020494.csv", "USC00020625.csv", "USC00020632.csv", 
"USC00020670.csv", "USC00020675.csv", "USC00020678.csv", "USC00020758.csv", 
"USC00020808.csv", "USC00020810.csv", "USC00021161.csv", "USC00021193.csv", 
"USC00021419.csv", "USC00021614.csv", "USC00021654.csv", "USC00021749.csv", 
"USC00022193.csv", "USC00022705.csv", "USC00022927.csv", "USC00023082.csv", 
"USC00023185.csv", "USC00023190.csv", "USC00023448.csv", "USC00023498.csv", 
"USC00023500.csv", "USC00023501.csv", "USC00023505.csv", "USC00023573.csv", 
"USC00023621.csv", "USC00023643.csv", "USC00023828.csv", "USC00023926.csv", 
"USC00024069.csv", "USC00024182.csv", "USC00024345.csv", "USC00024391.csv", 
"USC00024453.csv", "USC00024508.csv", "USC00025312.csv", "USC00025467.csv", 
"USC00025512.csv", "USC00025560.csv", "USC00025635.csv", "USC00025700.csv", 
"USC00025765.csv", "USC00025780.csv", "USC00025825.csv", "USC00026037.csv", 
"USC00026244.csv", "USC00026246.csv", "USC00026315.csv", "USC00026320.csv", 
"USC00026321.csv", "USC00026424.csv", "USC00026476.csv", "USC00026571.csv", 
"USC00026603.csv", "USC00026653.csv", "USC00026796.csv", "USC00026840.csv", 
"USC00027081.csv", "USC00027131.csv", "USC00027143.csv", "USC00027281.csv", 
"USC00027466.csv", "USC00027661.csv", "USC00027708.csv", "USC00027716.csv", 
"USC00027720.csv", "USC00027741.csv", "USC00027876.csv", "USC00028112.csv", 
"USC00028214.csv", "USC00028273.csv", "USC00028326.csv", "USC00028489.csv", 
"USC00028494.csv", "USC00028499.csv", "USC00028500.csv", "USC00028647.csv", 
"USC00028649.csv", "USC00028650.csv", "USC00028653.csv", "USC00028904.csv", 
"USC00028940.csv", "USC00029015.csv", "USC00029158.csv", "USC00029271.csv", 
"USC00029367.csv", "USC00029534.csv", "USC00029622.csv", "USC00029626.csv", 
"USW00003192.csv", "USW00023183.csv", "USW00023184.csv", "USW00053019.csv", 
"USW00053156.csv", "USW00053160.csv", "USW00093139.csv", "USW00093140.csv"
)

for(i in seq_along(files)){
  
  name <- files[[i]]
  y <- read.csv(file=name,header=TRUE)
  assign(name,y)
}

  

Однако я получаю следующую ошибку

 Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  first five rows are empty: giving up
  

Когда я запускаю, например: t <- read.csv(files[[94]],header=TRUE,sep=",") , он работает правильно.

Есть идеи, почему мой цикл не работает?

Комментарии:

1. Я бы проверил файл, в котором происходит сбой цикла, и посмотрел, действительно ли он пустой…

2. как я могу проверить файл в R, что он выдает ошибку?

3. Когда ваш цикл завершается с ошибкой, просто введите i и нажмите enter… В качестве альтернативы, поместите print(i) внутри вашего цикла.

4. Спасибо, я нашел ошибку!