2016-05-11 10 views
-1

Gestern schrieb ich eine Syntax für R mit dem folgenden:R // erkennen Variablen in einem Datenrahmen

attach(stage) 

eleven$stage[stadpt == 6 & stadpn == 0 & stadpm == 0] <-0 

Ich habe einen Datenrahmen mit fusionierte Datenrahmen und alles funktionierte sehr gut. heute jedoch habe ich genau das gleiche mit einem Zusatz:

attach(stage) 
eleven$stage[locprim < 9 & stadpt == 6 & stadpn == 0 & stadpm == 0] <-0 

Aber jetzt funktioniert es nicht .. ich jetzt Fehlermeldungen erhalten, dass es die Variablen mehr nicht erkennt

> attach(stage) 
Error in attach(stage) : object 'stage' not found 
> eleven$stage[locprim < 9 & stadpt == 6 & stadpn == 0 & stadpm == 0] <-0 
Error in eleven$stage[locprim < 9 & stadpt == 6 & stadpn == 0 & stadpm == : 
    object 'locprim' not found 

Ich weiß, Ich kann dies lösen, indem ich eleven$ vor jeder Variable eingib (und attach(stage) weglassen), aber es macht keinen Sinn (und ich habe einen sehr langen Code, also würde ich das plötzlich viele Male machen müssen ..). Gestern hat es perfekt geklappt. Haben Sie eine Idee, warum das so ist?

Vielen Dank im Voraus!

Best wishes, Anne

+0

kann wirklich keine Lösung ohne reproduzierbare Beispiel bieten. also nur einige allgemeine Überprüfungen, z.B. Hast du deine "Bühne" in R-Umgebung gelesen? ist die Variable 'locprim' in Ihrem Code richtig geschrieben? –

+1

Bitte verwenden Sie 'attach' nicht – akrun

+0

" Bühne "ist eine neue Variable, aber" locprim "ist bereits in der R-Umgebung. Ich schätze, ich füge einfach 'elf $' zu jeder Variablen hinzu. Vielen Dank! – AnneG1990

Antwort

0

Bringen Sie verwenden! Niemals! Sie werden alle Ihre Datenrahmen zerstören, wie Sie mehrere haben, so dass die Chancen, die Dinge neu zu schreiben, ziemlich hoch sind.

Was ich versuche zu tun, ist die folgende:

eleven$stage[eleven$locprim < 9 && stadpt == 6 && eleven$stadpn == 0 && eleven$stadpm == 0] <-0 

es so tun, wie Sie sagen, Sie wissen, von elf $ Schreiben vor jeder Variablen. Sie können tiefer sehen, warum: here, here, here und here

Hoffe, dass es ein wenig verdeutlicht! :)

Verwandte Themen