下面是一个线性模型,我们使用plot
绘制“残差与拟合值”。然而,我们似乎不能直接提取这个图中点的坐标(尽管我们可以使用M1$residuals
)。但是这个例子是一般散点图的例子,所以我们需要“直接”提取。
我注意到其他地块可以提取数据(例如,stats
属性在boxplot
在这个网站上中)。为什么最简单的星图不能(在下面的代码中都为空)?
x1 <- c(3.4, 2.5, 8, -4, 1)
y1 <- c(2, 3, 10, -1, 0.5)
M1 <- lm(x=x1, y=y1)
this_plot <- plot(M1,1)
this_plot
# NULL
this_plot$stats
# NULL
发布于 2019-08-13 00:30:27
通常,当您绘制数据时,您知道数据,因此不需要plot
函数返回它。
事实上,这样做违反了一个被称为“单一责任原则”的软件工程原则,或者简称为SRP。像boxplot
这样的函数返回数据,因为它们执行两个函数(因此严格地说违反了SRP):它们计算一个统计数据,并绘制它。因此,除了绘制统计数据外,还可以方便地返回计算的统计数据。
在您的示例中,计算由lm
完成,(仅)绘图由plot
完成。正如您注意到的,如果您需要数据,M1$residuals
和M1$fitted.values
提供数据。
https://stackoverflow.com/questions/57473801
复制相似问题