我有一个数据列表,我想做一个包含两个变量的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)
返回任何东西
你能帮帮我吗?谢谢!
发布于 2014-05-06 13:54:37
尝尝这个
## 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)
发布于 2014-05-06 13:38:49
函数abline
不返回任何内容。它只是在图形设备上增加线条。那你就回不去了。如果您愿意,可以返回my.lm1
和my.lm2
对象,并在以后对它们调用abline
。
https://stackoverflow.com/questions/23496037
复制相似问题