Вам необходимо предоставить обе строки кода в виде одного выражения 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()
просто заставляет вас запутывать код с помощью фигурных скобок и ;
.