我只是学习在R中创建函数,所以我试图创建一个函数来绘制线性回归的残差线。我已经尝试了它,代码在函数之外工作,但是一旦我将它全部放入函数中,我得到'x'和'y'长度不同的错误。 这是我的功能:
`reslines <- function(x,y) {
abline(lm(y~x))
for(k in 1: length(y)) lines(c(x[k],x[k]), c(y[k], predict(lm(y~x))))
}`
tracebook显示错误发生在此处:
6 stop("'x' and 'y' lengths differ")
5 xy.coords(x, y)
4 plot.xy(xy.coords(x, y), type = type, ...)
3 lines.default(c(x[k], x[k]), c(y[k], predict(lm(y ~ x))))
2 lines(c(x[k], x[k]), c(y[k], predict(lm(y ~ x))))
1 reslines(a, b)
我已经检查了我尝试过使用length()函数的每个数据集的长度,它们都匹配,所以在函数内部发生了一些似乎改变长度或'x'或'y'的事情或两者兼而有之。
有谁能告诉我错误是什么以及如何解决?感谢。
答案 0 :(得分:0)