2013-09-04 9 views
6

Zgaduję, że jest to bardzo proste dla doświadczonych ... jak mogę użyć wartości zmiennej, aby przypisać ją jako nazwę kolumny ramki danych? Powiedzmy, że mam prostą ramkę danych df, jak poniżej, i zmienną n, która zmienia wartość na podstawie danych wprowadzanych przez użytkownika. Jak mogę wstawić nową kolumnę ramek danych, która ma jako nazwę wartość n? Chciałbym również idealnie połączyć wartość n za pomocą prostego łańcucha znaków. Dziękuję Ci.R użyj wartości zmiennej jako nazwy kolumny ramki danych

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

    a b 
1 1 2 
2 1 2 
3 1 2 

Kiedy po prostu starają się przypisać nową kolumnę jako

nazwę kolumny jest po prostu brak.

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

Odpowiedz

3

To nie jest najlepszy pomysł, aby wymienić kolumnę z numerem, ale to będzie działać:

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

meh @ używając 'wklej 'dla jego efektu ubocznego tutaj - po prostu użyj' as.character' – eddi

2

Można również zrobić:

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

Chociaż, jak wcześniej zauważył , nie jest dobrą praktyką podawanie liczb jako nazw kolumn.

Powiązane problemy