我想创建一个散点图并绘制数据集子集的回归线.为了给出一个可重复的例子,我将使用CO2数据集.
我尝试了这个,但回归线由于某种原因没有出现
with(subset(CO2,Type=="Quebec"),plot(conc,uptake),abline(lm(uptake~conc)))
Run Code Online (Sandbox Code Playgroud)
给这样一个命令的正确方法是什么?我可以用一个班轮做吗?
您需要将两行代码作为单个R表达式提供.这abline()被作为后来的论证with(),这是...争论.这是一种将参数传递给未来方法的方法,但最终结果是它对于这部分代码实际上是一个黑洞.
两个选项,i)保留一行,但将表达式包装在中{并}用两个表达式分隔;:
with(subset(CO2,Type=="Quebec"), {plot(conc,uptake); abline(lm(uptake~conc))})
Run Code Online (Sandbox Code Playgroud)
或传播表达出了两行,还裹着{和}:
with(subset(CO2,Type=="Quebec"),
{plot(conc,uptake)
abline(lm(uptake~conc))})
Run Code Online (Sandbox Code Playgroud)
编辑:说实话,如果你正在做这样的事情,你会错过通过R的模型公式进行子集化的优势.我会这样做如下:
plot(uptake ~ conc, data = CO2, subset = Type == "Quebec")
abline(lm(uptake ~ conc, data = CO2, subset = Type == "Quebec"), col = "red")
Run Code Online (Sandbox Code Playgroud)
这with()只是让你用大括号和你的代码混淆;.
| 归档时间: |
|
| 查看次数: |
3709 次 |
| 最近记录: |