简体   繁体   English

在 R 中输入 lm(线性回归)函数

[英]Input in a lm (linear regression) function in R

I am doing a lm in R using vectors我正在使用向量在 R 中做一个 lm

Y<-c(1,0,1,2,5,1,4,6,2,3,5,4,6,8,4,5,7,9,7,6)
X<-c(60,63,65,70,70,70,80,80,80,80,85,89,90,90,90,90,94,100,100,100)

rg<-lm(Y ~ X)
summary(rg)


X1<-c(61,64,69,73,76,77,82,84,87,90,95,99,100,101,102,103,104,107,110,120)

When I use X1 as input for predict当我使用 X1 作为预测的输入时

Y1 <- predict(rg,X1 )

I have an error:我有一个错误:

"Error in eval(predvars, data, env) : numeric 'envir' arg not of length one" “eval(predvars, data, env) 中的错误:数字 'envir' arg 不是长度为 1”

This error doesn't occur if I use a data.frame object as input...I dob't understand why I need a data.frame and a vector doesn't work如果我使用 data.frame 对象作为输入,则不会发生此错误...我不明白为什么我需要 data.frame 而向量不起作用

am I doing something wrong??难道我做错了什么??

Thanks in advance提前致谢

I agree with Gregor.我同意格雷戈尔。 X1, the "newdata" should be a data.frame. X1,“newdata”应该是一个data.frame。
Y1 <- predict(rg, as.data.frame(X1)) Y1 <- 预测(rg,as.data.frame(X1))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM