繁体   English   中英

如何进行线性回归?

[英]How to do this linear regression?

我有一个数据列表,我想在列表中做一个带有两个变量的lm 我做了这个函数来绘制两个线性回归。 这是我的代码:

FitWeibull <- function(data){

my.lm1 <- lm(data[[1]]$X ~ data[[1]]$Y, data = data)
my.lm2 <- lm(data[[2]]$X ~ data[[2]]$Y, data = data)
#   return(list(my.lm1, my.lm2))

return(list(abline(my.lm1), abline(my.lm2)))
}

FitWeibull(my.data)

[[1]]
NULL

[[2]]
NULL

即使仅进行一次回归,它也不起作用:

FitWeibull <- function(data){

my.lm1 <- lm(data[[1]]$X ~ data[[1]]$Y, data = data)
#   my.lm2 <- lm(data[[2]]$X ~ data[[2]]$Y, data = data)
#   return(list(my.lm1, my.lm2))
return(abline(my.lm1))
}

FitWeibull(my.data)返回任何内容

你能帮助我吗? 谢谢!

尝试这个

## Create some data set
set.seed(1)
my.data <- list(df1 = data.frame(Y = sample(10), X = sample(10)), 
             df2 = data.frame(Y = sample(10), X = sample(10)))

FitWeibull <- function(data){

  my.lm1 <- lm(data[[1]]$X ~ data[[1]]$Y)
  my.lm2 <- lm(data[[2]]$X ~ data[[2]]$Y)

  par(mfrow = c(1, 2), pty = "s")  

  plot(data[[1]]$X , data[[1]]$Y)
  abline(my.lm1)

  plot(data[[2]]$X , data[[2]]$Y)
  abline(my.lm2)

}
FitWeibull(my.data)

在此处输入图片说明

函数abline不返回任何内容。 它只是向图形设备添加线条。 然后,您将无法退货。 如果愿意,可以返回my.lm1my.lm2对象,并在以后调用它们的abline

暂无
暂无

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

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