R &引用;“阿卜林”;不';“以后不要工作”;“地块”;“当在里面时”;加上;
我想创建一个散点图,并为数据集的子集绘制回归线。为了给出一个可重复的示例,我将使用CO2数据集 我试过了,但由于某种原因,回归线没有出现R &引用;“阿卜林”;不';“以后不要工作”;“地块”;“当在里面时”;加上;,r,plot,R,Plot,我想创建一个散点图,并为数据集的子集绘制回归线。为了给出一个可重复的示例,我将使用CO2数据集 我试过了,但由于某种原因,回归线没有出现 with(subset(CO2,Type=="Quebec"),plot(conc,uptake),abline(lm(uptake~conc))) 发出这样的命令的正确方式是什么?我可以用一行程序吗?从用:用。。。在使用数据创建的本地环境中计算expr。您正在通过…传递abline()。您需要这样做: with(subset(CO2,Type=="Queb
with(subset(CO2,Type=="Quebec"),plot(conc,uptake),abline(lm(uptake~conc)))
发出这样的命令的正确方式是什么?我可以用一行程序吗?从
用:用。。。在使用数据创建的本地环境中计算expr
。您正在通过…
传递abline()
。您需要这样做:
with(subset(CO2,Type=="Quebec"),{plot(conc,uptake);abline(lm(uptake~conc))})
您需要将两行代码作为一个R表达式提供。abline()
将作为with()
的后续参数,该参数是..
参数。这是一种将参数传递给未来方法的方法,但最终的结果是这部分代码实际上是一个黑洞
两个选项,i)保留一行,但将表达式包装在{
和}
中,并用分隔这两个表达式代码>:
with(subset(CO2,Type=="Quebec"), {plot(conc,uptake); abline(lm(uptake~conc))})
或者将表达式展开两行,仍然用{
和}
包装:
with(subset(CO2,Type=="Quebec"),
{plot(conc,uptake)
abline(lm(uptake~conc))})
编辑:老实说,如果你在做这样的事情,你就错过了通过R的模型公式进行子集设置的优势。我会这样做:
plot(uptake ~ conc, data = CO2, subset = Type == "Quebec")
abline(lm(uptake ~ conc, data = CO2, subset = Type == "Quebec"), col = "red")
with()
只会使您用大括号和混淆代码代码>加文和约书亚为您眼前的问题提供了很好的解决方案;以下是使用ggplot的等效图:
library(ggplot2)
qplot(conc, uptake, data = CO2[CO2$Type == "Quebec" , ]) + stat_smooth(method = "lm", se = FALSE)
在你的“编辑”中有很棒的建议。到目前为止,这是正确的方法。只是我不想给出一系列的限制。这可能很危险。