Я работаю с кадра данных (dt
), который содержит 3 колонки: Time
, Temp
, Species
, такие какКак применить линейную модель к конкретным частям кадра данных?
Temp Time Species
1 10 241 Species-X
2 11 241 Species-X
3 12 241 Species-X
4 13 241 Species-Y
5 14 241 Species-Y
6 15 240 Species-Z
... ... ... ...
41 50 178 Species-Z
Есть пять видов в третьей колонке. Я хочу применить линейную модель (lm
) с Temp
в качестве моей независимой переменной и Time
как зависимую переменную. Итак, я хочу проверить его только для вида X или Y. Далее, я хочу проверить один из моих видов в заданном интервале Temp
(скажем, 20-29 градусов C). Я пробовал:
lm(Temp ~ Time, data = td[Species = Species-Y])
for(i in unique(td$Species)){
model <- list(model)
model[i] <- lm(td$Time ~ td$Temp)
}
model <- function (dados) {
return(lm(td$Time[,dados] ~ td$Temp[,dados]))
}
model(dados = td$Species-X)
http://www.statmethods.net/management/subset.html – jenesaisquoi
Я хотел бы использовать 'подмножество 'функция' lm' ... 'lapply (c (« Species-X »,« Species-Y »), function (x) lm (Time-Temp, data = td, subset = Species == x))' – user20650
Ваша первая попытка выше почти работает ... вам нужно использовать кавычки и нужна дополнительная запятая. Поэтому попробуйте 'lm (Temp ~ Time, data = td [td $ Species ==" Species-Y ",])' – user20650