рассмотрим, например, «ирис» dataframe, который установлен с основной настройкой R:построения модели на подмножества dataframe
names(iris)
# [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
levels(iris$Species)
# [1] "setosa" "versicolor" "virginica"
теперь построить три модели без крепления «ирис»:
t1=lm(iris$Sepal.Length ~ iris$Sepal.Width + iris$Petal.Length , data=iris)
t2=lm(iris$Sepal.Length ~ iris$Sepal.Width + iris$Petal.Length , data=iris[iris$Species=="setosa",])
t3=lm(iris$Sepal.Length ~ iris$Sepal.Width + iris$Petal.Length , data=iris , subset = (iris$Species=="setosa"))
сейчас я думаю t2=t3<>t1
но R говорит t1=t2<>t3
. почему я ошибаюсь? !!
теперь я снова построить свои модели, но на этот раз с креплением «ириса»:
attach(iris)
t1=lm(Sepal.Length ~ Sepal.Width + Petal.Length , data=iris)
t2=lm(Sepal.Length ~ Sepal.Width + Petal.Length , data=iris[iris$Species=="setosa",])
t3=lm(Sepal.Length ~ Sepal.Width + Petal.Length , data=iris , subset = (iris$Species=="setosa"))
мне теперь и R и думают: t2=t3<>t1
. но снова я смущен из-за эффекта прикрепления к модели! Я думаю, что первый набор моделей эквивалентен второму набору моделей, но R говорит нет! Благодарю.
Первое примечание: вам не нужно помещать iris $ перед каждым именем переменной, когда функция использует data = iris. например, 'tm1 = lm (Sepal.Length ~ Sepal.Width + Petal.Length, data = iris)' работает. –
Во-вторых, я думаю, что лучше создавать подмножества вне формулировок модели. например, 'setosa <- subset (iris, subset = Species ==" setosa ")', тогда вы можете запустить линейную модель на подмножестве. –
, так что положить iris $ до того, как каждая переменная имеет некоторые эффекты на модели? @Twitch_City – moshtaba