Передо мной стоит задача рассчитать уравнение множественной регрессии для набора данных. Есть несколько файлов одинаковой структуры с данными для разных районов. Предполагаю организовать цикл, в котором последовательно подгружать файлы, выполнять расчеты и записывать результат в файл с таким же именем, но другим расширением. Составил следующую программку:
Код: Выделить всё
f <- c("_M_.dat","basin.DAT","Land.DAT","Mount.DAT","trogs.DAT","flat.DAT", "island.DAT","sedim.DAT","RF2.DAT")   # составляем вектор из имен файлов
for(m in 1:9) {   
    z <- paste(f[m],"txt",sep=".")   # задаем имя выходного файла
    x <- read.table(f[m], sep=' ', header= TRUE) # читаем исходные данные
    y <- data.frame(M=abs(x$M), X1=x$X1, X2= x$X2, X3=x$X3/-1000, X4=(x$X3/-1000)* x$X1* x$X2)     # подготавливаем таблицу для рассчета
    row.names(y) <- x$N
    fit <- lm(M ~ X1+ X2 + X3 + X4, data=y)  # рассчитываем уравнение регрессии  
    write(f[m],file=z, append = FALSE) 
    summary(fit)
    write(fit$coefficients,file=z,append = TRUE)  # пытаемся записать информацию в файл
}
Первая проблема: цикл не работает, хотя если в тело цикла добавить строки:
Код: Выделить всё
m
f[m]Вторая проблема: не получается записать fit в файл. Посмотрел структуру fit, там полно переменных. Переменную $coefficients удалось записать, при подстановке остальных выдает либо ошибку, либо печатает два пустых байта в файл.
А я планировал получит запись, аналогичную выводу функции summary(fit).
Подскажите, пожалуйста, что я делаю неправильно.
 
						 нужно делать
  нужно делать