Связывание выбранных строк из нескольких файлов данных в R - PullRequest
0 голосов
/ 17 мая 2019

Я написал код для предварительного создания данных временных рядов из модели для нескольких файлов. Мне нужны полные данные временных рядов в целом, но я также хочу прочитать результаты для всех столбцов за определенные дни и объединить их в отдельный файл. Однако, когда я делаю это, я получаю «Ошибка в rbind (deparse.level, ...): номера столбцов аргументов не совпадают "несмотря на то, что я точно знаю, что все файлы должны иметь одинаковые имена столбцов и количество столбцов.

Я попробовал подход здесь Выберите несколько строк в нескольких DF с циклом в R , но я получил ошибку "Ошибка в rbind (deparse.level, ...): номера столбцов аргументов не совпадают "

Resfiles = list.files("C:/Users/Me/Desktop/R Code/Testfiles", pattern = "Results+.*csv")
Resfiles

как я читаю в файлах

Подход 1:

resfiles.list = sapply(Resfiles, function(file)
{df = read.csv(file, header=TRUE, stringsAsFactors=FALSE)
df$SourceFile = file
enddate = nrow(file)
df = df[c(1,2,21,133,159,enddate), ]




}
 )

allres = do.call(rbind, resfiles.list)

генерирует ошибку «Ошибка в rbind (deparse.level, ...): номера столбцов аргументов не совпадают "

и подход 2:

Results = NULL;

for(j in Resfiles)
{

  input = read.csv(file = j, header = TRUE, sep =",")
  enddate = nrow(input)

  d0 = input[1, ]
  d0
  d1 = input[2, ]
  d20 = input[21,]
  d132=input[133, ]
  d158 = input[159, ]
  final = input[enddate, ]
  final

  results1o = rbind(d0, d1, d20, d132, d158, final)
  Results = rbind(Results,results1o )
  print(Results)
}
write.csv(Results, file = "PredResults.csv")

Когда я пробую Подход 2 со smartbind вместо этого, я получаю ошибку «Ошибка в! Sapply (data, function (l) is.null (l) | (ncol (l) == 0) | (nrow (l) = знак равно неверный тип аргумента "

Если я просто использую rbind, я получаю «Ошибка в read.table (file = file, header = header, sep = sep, quote = quote,: первые пять строк пусты: сдача "

То, что я хотел бы получить, - это фрейм данных с конкретными интересующими строками, сгруппированными по животным, которые я могу позже подгруппировать и обработать по мере необходимости. Мне просто нужно иметь возможность читать в этих 40 с лишним файлах результатов, извлекать все необходимые строки в один большой фрейм данных и сохранять его как CSV, и мне нужно, чтобы он расширялся, чтобы тот же код работал, если у меня есть 40ish файлы или> 100.

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