Wie Sie eine Zeichenfolgenvariable verwenden, um eine Datenrahmenspalte mit der $ -Notation [duplizieren] auszuwählen
Diese Frage hat hier bereits eine Antwort:
Dynamisches Auswählen von Datenrahmenspalten mit $ und einem Vektor mit Spaltennamen 8 answersWenn ich mit R gelesen habe, kann ich eine Spalte in einem Datenrahmen mit einer der beiden folgenden Methoden auswählen: frame [, column] oder frame $ column. Wenn ich jedoch eine Zeichenfolge als Variable habe, funktioniert dies nur in der ersten. Mit anderen Worten, beachten Sie Folgendes:
Ich habe einen Datenrahmen, tmp, eine Teilmenge eines größeren Datenrahmens mit Antworten auf Fragen. V1 ist die ID des Antwortenden, Q5.3 ist die Antwort, eine 1 oder 0:
V1 Q5.3
2 R_bdyKkzWcvBxDFTT 1
3 R_41wnKUQcM8mUW2x 0
4 R_2ogeykkgbH2e4RL 1
5 R_8D4jzMBfYO0M0ux 1
6 R_3KPgP2pxWROnip7 1
str(tmp)
'data.frame': 5 obs. of 2 variables:
$ V1 : Factor w/ 364 levels "R_0039orNoOoWaDQx",..: 256 116 70 201 95
$ Q5.3: num 1 0 1 1 1
Jetzt definiere ich eine Variable x, die die Zeichenfolge des Namens einer der Spalten enthält.
x<-"Q5.3"
tmp [, x] gibt das zurück, was ich denke, dass es zurückgeben sollte:
tmp[,x]
[1] 1 0 1 1 1
tmp $ "Q5.3" gibt das zurück, was ich denke, dass es zurückgeben sollte:
tmp$"Q5.3"
[1] 1 0 1 1 1
tmp $ x gibt jedoch @ zurü
tmp$x
NULL
Wie kann ich R anweisen, tmp $ x als tmp $ "Q5.3" zu interpretieren?