【发布时间】:2022-09-29 12:09:08
【问题描述】:
我使用公式y=x^3+3 生成带有变量x 和y 的data.frame df,
但是当我使用lm() 来描述xy 的关系时,我得到y=81450x-5463207.2。这与原来的y=x^3+3 完全不同。
如何制作 lm() 或使用其他方式重新出现原始公式?
library(tidyverse)
mf <- function(x){
y=x^3+3
}
df=data.frame()
for (i in 1:300){
df[i,1]=i
df[i,2]=mf(i)
}
names(df) <- c(\'x\',\'y\')
model <- lm(y~x,data = df)
model$coefficients
-
您必须指定三次关系,即
model <- lm(y ~ I(x^3), data = df),模型会告诉您两个系数都是 3 和 1。 -
谢谢,I(x^3) 可以重新出现原来的公式,但是如果我不知道原来的公式,我怎么知道应该输入 I(x^3) ? (我只想描述给定的趋势)
-
有趣的是
model <- lm(y ~ poly(x, 5),data = df); round(model$coefficients, 2)找不到正确的解决方案??? -
@Bernhard,那是因为您使用不同的基础指定了多项式。请改用
model <- lm(y ~ poly(x, 5, raw=TRUE),data = df)。 -
@user2554330 注意我未来的自己:RTFM!谢谢你。