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 answers

Wenn 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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage