对于在这种情况下调用哪个函数感到困惑,
# Simple linear model
g<-lm(final~midterm, stat500)
# Plot the predicted line, with slope and intercept
abline(g$coef, lty=5)
此代码段取自http://cran.r-project.org/doc/contrib/Faraway-PRA.pdf,第15页。 令人困惑的部分是调用abline。手册说呼叫签名是
用法:
abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL,
coef = NULL, untf = FALSE, ...)
和典型的用法是:
abline(a, b, untf = FALSE, ...)
abline(h =, untf = FALSE, ...)
abline(v =, untf = FALSE, ...)
abline(coef =, untf = FALSE, ...)
abline(reg =, untf = FALSE, ...)
那么R如何解决abline(coef)
应该被调用的那个?来自python世界,似乎通过提供没有名称的单个参数,应该使用第一个版本,即abline(a=g$coef, b=NULL)
。
有人可以在R中指出一个关于解决方案规则的好教程吗?
谢谢!
答案 0 :(得分:2)
从?abline
帮助页面。
第一种形式[
abline(a, b, untf = FALSE, ...)
]指定截距/斜率形式的线(或者a
可以单独指定,并用于包含矢量形式的斜率和截距)。
因此,由于您正在进行简单的线性回归,g$coef
是一个长度为2的向量,因此将这些值用作斜率和截距。
所以
之间没有区别abline(a, b, untf = FALSE, ...)
和
abline(coef =, untf = FALSE, ...)
后者恰好有一个更明确的参数名称,如果你想使用它。如果只输入abline
而没有括号,则可以轻松阅读abline
的来源。只有一个abline
函数(它甚至不是通用的)