2013-09-04 6 views
6

Ich rate das ist einfach für einen erfahrenen verwendet ... Wie kann ich den Wert einer Variablen verwenden, um es als Datenrahmenspaltenname zuzuweisen? Angenommen, ich habe einen einfachen Datenrahmen df wie unten und eine Variable n, die den Wert basierend auf Benutzereingaben ändert. Wie könnte ich eine neue Datenrahmenspalte einfügen, deren Name den Wert von n hat? Ich würde auch gerne den Wert von n mit einer einfachen Zeichenfolge verketten. Vielen Dank.R benutze Wert einer Variablen als Datenrahmen Spaltenname

df<-data.frame(a=c(1,1,1),b=c(2,2,2)) 

    a b 
1 1 2 
2 1 2 
3 1 2 

Wenn ich versuche, einfach eine neue Spalte als

den Namen der Spalte zuzuordnen ist einfach n.

a b n 
1 1 2 3 
2 1 2 3 
3 1 2 3 

Antwort

3

Es ist nicht die beste Idee, eine Spalte mit einer Zahl zu nennen, aber dies funktioniert:

df[,paste(n)] <- c(3,3,3) 
+2

meh @ Verwendung von 'Paste' für seine Nebenwirkung hier - verwenden Sie einfach' as.character' – eddi

2

Sie könnten auch tun:

df <- cbind(df,c(3,3,3)) 
names(df)[ncol(df)] <- n 

Obwohl, wie bereits hervorgehoben, Es ist nicht ratsam, Zahlen als Spaltennamen anzugeben.

Verwandte Themen