2016-12-14 2 views
-2

Studieren http://data.princeton.edu/R/linearModels.html, sehe ich

> lmfit = lm(change ~ setting + effort) 

change zu verwenden, setting und effort von zuvor geladenen Daten (> fpe <- read.table("http://data.princeton.edu/wws509/datasets/effort.dat")).

die obige Befehl ausführen, ohne $ bekomme ich

Error in eval(expr, envir, enclos) : object 'change' not found 

Wenn ich es $ tun mit wie

> lmfit = lm(fte$change ~ fte$setting + fte$effort) 

Dann funktioniert es.

Also, warum präsentieren sie es so > lmfit = lm(change ~ setting + effort)?

+2

Es sieht aus wie sie 'die Daten attach' vor diesem Befehl gemacht. Wenn das erledigt ist, brauchen Sie das '$' nicht. Ich halte es jedoch generell für eine schlechte Praxis, Daten anzuhängen. Eine bessere Lösung wäre 'lmfit <- lm (change ~ setting + effort, data = fte)' –

+2

Es steht eigentlich * also vergewissern Sie sich, dass der fpe-Datenrahmen an Ihre aktuelle Sitzung * unmittelbar vor dem Codeblock angehängt ist. –

Antwort

5

Sie müssen die Datenrahmen spezifizieren:

lmfit = lm(change ~ setting + effort, data=fte) 
Verwandte Themen