Это то, что аналитики данных делают постоянно (особенно при работе с данными опросов, в которых отсутствуют пропущенные ответы). Обычно сначала умножают вменение набора конкурирующих матриц данных, подбирают модели для каждой из этих матриц, а затем объединяютрезультаты, достижения.В данный момент я делаю вещи вручную и ищу более элегантное решение.
Представьте, что в рабочем каталоге есть 5 *.csv
файлов с именем dat1.csv
, dat2.csv
, ... * 1006.*.Я хочу оценить ту же линейную модель, используя каждый набор данных.
Учитывая этот ответ , первым шагом является сбор списка файлов, который я делаю со следующим
csvdat <- list.files(pattern="dat.*csv")
Теперь я хочу сделать что-то вроде
for(x in csvdat) {
lm.which(csvdat == "x") <- lm(y ~ x1 + x2, data = x)
}
Оператор «which» - это мой глупый способ попытаться поочередно пронумеровать каждую модель, используя расположение в списке csvdat, до которого доходит цикл.то есть, я бы хотел, чтобы этот цикл возвращал набор объектов объемом 5 лм с именами lm.1
, lm.2
и т. д.
. Есть ли какой-нибудь простой способ создания этих объектов, и назовите их так, чтобыЯ легко могу указать, какому набору данных они соответствуют?
Спасибо за вашу помощь!