Sie müssen beide Codezeilen als einen einzigen R-Ausdruck angeben. Das abline()
wird als ein nachfolgendes Argument zu with()
genommen, welches das ...
Argument ist. Dies ist dokumentiert ein Mittel, Argumente an zukünftige Methoden weiterzugeben, aber das Endergebnis ist, dass es effektiv ein schwarzes Loch für diesen Teil Ihres Codes ist.
Zwei Optionen, i) eine Zeile halten, aber der Ausdruck in {
und }
und trennen die beiden Ausdrücke mit ;
wickeln:
with(subset(CO2,Type=="Quebec"), {plot(conc,uptake); abline(lm(uptake~conc))})
Oder verbreiten den Ausdruck aus über zwei Zeilen, wickelte noch in {
und }
:
with(subset(CO2,Type=="Quebec"),
{plot(conc,uptake)
abline(lm(uptake~conc))})
bearbeiten: Um ehrlich zu sein, wenn Sie solche Dinge tun, verpassen Sie die Vorteile der Teilmengenbildung durch R's Modellformeln. Ich würde dies getan hat, wie folgt:
plot(uptake ~ conc, data = CO2, subset = Type == "Quebec")
abline(lm(uptake ~ conc, data = CO2, subset = Type == "Quebec"), col = "red")
Die with()
nur verursachen Sie Ihren Code mit Klammern und ;
zu verschleiern.
Super Vorschlag in Ihrem "bearbeiten". Das ist bei weitem der richtige Weg. –
Es ist nur so, dass ich nicht mehr als ein einziges Mal mehrere Einschränkungen geben möchte. Es könnte gefährlich sein. – Brani