Я написал код для предварительного создания данных временных рядов из модели для нескольких файлов. Мне нужны полные данные временных рядов в целом, но я также хочу прочитать результаты для всех столбцов за определенные дни и объединить их в отдельный файл. Однако, когда я делаю это, я получаю «Ошибка в 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.