Как вставить столбец из фрейма данных R в цикл для формулы, использующей $? - PullRequest
0 голосов
/ 09 октября 2019

Мне нужна помощь для вставки столбца фрейма данных в виде формулы в R с использованием знака $.

df1 <- data.frame(id1 = c(1, 2, 3, 4, 5),
              id2 = c(1, 2, 3, 4, 5),
              var1 = c(3,6,6,9,5),
              var2 = c(1, 1, 0, 0, 1))
rownames(df1)<-c("first","second","third","fourth","fifth")

trait=c("id1","id2")
list=as.character("var1","var2")

for(i in trait){
  fit <- lm(df1[,i]~df1$list[2])
}

Я хочу вставить вторую часть lm (список df1 $ [2]). После $ я хочу, чтобы он вставил соответствующий элемент списка векторных символов.

1 Ответ

1 голос
/ 09 октября 2019

lm может работать одновременно с несколькими левыми сторонами:

lm(cbind(id1, id2) ~ var1 + var2, f1)

, давая:

Call:
lm(formula = cbind(id1, id2) ~ var1 + var2, data = f1)

Coefficients:
             id1      id2    
(Intercept)  0.09091  0.09091
var1         0.45455  0.45455
var2         0.45455  0.45455
...