【问题标题】:How to start R regression at specific value如何在特定值开始 R 回归
【发布时间】:2023-01-23 18:32:11
【问题描述】:

我需要在 R 中找到一个回归,其形式为LM(Binary_value ~ Age, data=dataframe).但是我的年龄变量从 15 岁开始,所以我对 <14 岁不感兴趣。我如何指定我只希望我的回归在 15 岁时准确,而不用担心较小的值?

我这样试过LM(Binary_value ~ Age, data=dataframe)但我得到了更高年龄的无意义结果。

【问题讨论】:

  • 您的数据是否有 15 岁以下的年龄?如果是这样,您可以使用sub set 参数,lm(Binary_value~Agge, dataframe, subset = Age &gt;= 15)

标签: r regression linear-regression


【解决方案1】:

首先,请记住 R 区分大小写,因此函数看起来像 lm,而不是 LM。其次,回归仅包括可用于预测的数据。如果它们不存在,它不会神奇地组成 14 个数据点,所以那里没有问题。但是,回归线不会映射到 => 15 岁,因为它使用模型系数来绘制截距。下面是一个带有假数据的例子:

#### Create Fake Data ####
set.seed(123)
x <- 15:100 # use these numbers for age
age <- sample(x, # using x
              size=1000, # sample 1000 times
              replace=T) # sample with replacement
outcome <- age * .60 + rnorm(n=1000,sd=15) # make fake outcome variable
df <- data.frame(age,outcome)

#### Fit Data ####
fit <- lm(outcome ~ age, data = df)
summary(fit)
plot(age,outcome)
abline(fit,
       col = "red")

您会看到回归线,尽管只包括 15,但仍会绘制到没有数据的左侧。这是因为截距是基于系数的条件值。

附言我在此示例中使用了正常的高斯回归,因为您在问题中使用了 lm 函数,但包含了二进制响应。对于逻辑回归,基本原理是相同的,但它会使用 glm 代替。

【讨论】:

    猜你喜欢
    • 2019-02-25
    • 2018-07-02
    • 2014-11-15
    • 2020-10-16
    • 2012-01-04
    • 2020-05-10
    • 1970-01-01
    • 2015-12-31
    • 2019-04-19
    相关资源
    最近更新 更多