首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何进行线性回归?

如何进行线性回归?
EN

Stack Overflow用户
提问于 2014-05-06 13:26:12
回答 2查看 122关注 0票数 0

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

代码语言:javascript
运行
复制
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

即使只有一个回归,它也不起作用:

代码语言:javascript
运行
复制
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)返回任何东西

你能帮帮我吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-06 13:54:37

尝尝这个

代码语言:javascript
运行
复制
## 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)

票数 1
EN

Stack Overflow用户

发布于 2014-05-06 13:38:49

函数abline不返回任何内容。它只是在图形设备上增加线条。那你就回不去了。如果您愿意,可以返回my.lm1my.lm2对象,并在以后对它们调用abline

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23496037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档