2013-09-04 13 views
6

Suppongo che sia semplice per un esperto utilizzato ... come posso utilizzare il valore di una variabile per assegnarlo come nome di colonna del frame di dati? Supponiamo di avere un semplice frame dati df come sotto, e una variabile n che cambi valore in base all'input dell'utente. Come posso inserire una nuova colonna del frame di dati che ha come nome il valore di n? Preferirei anche concatenare il valore di n con una semplice stringa. Grazie.Valore di utilizzo R di una variabile come nome colonna del frame di dati

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

    a b 
1 1 2 
2 1 2 
3 1 2 

Quando ho semplicemente cerco di assegnare una nuova colonna come

il nome della colonna è semplicemente n.

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

risposta

3

non è la migliore idea di nominare una colonna con un numero, ma questo funzionerà:

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

meh @ utilizzando 'incolla' per il suo effetto collaterale qui - basta usare' as.character' – eddi

2

Si potrebbe anche fare:

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

Anche se, come già sottolineato , non è una buona pratica dare numeri come nomi di colonne.

Problemi correlati