Когда вы запускаете x = "height"
, вы присваиваете строку символов переменной x
.
Рассмотрим этот фрейм данных:
df <- data.frame(
height = c(176, 188, 165),
weight = c(75, 80, 66)
)
Если вы хотите регрессию с использованием height
и weight
, вы можете сделать это:
lm(height ~ weight, data = df)
# Call:
# lm(formula = height ~ weight, data = df)
#
# Coefficients:
# (Intercept) weight
# 59.003 1.593
или это :
lm(df$height ~ df$weight)
# Call:
# lm(formula = df$height ~ df$weight)
#
# Coefficients:
# (Intercept) df$weight
# 59.003 1.593
Если вы действительно хотите использовать x
вместо height
, у вас должна быть переменная с именем x
(в вашем df
или в вашей среде). Вы можете сделать это, создав новую переменную:
x <- df$height
y <- df$weight
lm(x ~ y)
# Call:
# lm(formula = x ~ y)
#
# Coefficients:
# (Intercept) y
# 59.003 1.593
или изменив имена существующих переменных:
names(df) <- c("x", "y")
lm(x ~ y, data = df)
# Call:
# lm(formula = x ~ y, data = df)
#
# Coefficients:
# (Intercept) y
# 59.003 1.593