2013-09-04 42 views
6

Tôi đoán điều này là đơn giản đối với một người dùng có kinh nghiệm ... làm cách nào tôi có thể sử dụng giá trị của biến để gán nó làm tên cột khung dữ liệu? Giả sử tôi có một khung dữ liệu đơn giản df như dưới đây và một biến n thay đổi giá trị dựa trên đầu vào của người dùng. Làm thế nào tôi có thể chèn một cột khung dữ liệu mới có tên là giá trị của n? Tôi cũng lý tưởng muốn ghép nối giá trị của n bằng một chuỗi đơn giản. Cảm ơn bạn.Giá trị sử dụng R của biến là tên cột khung dữ liệu

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

    a b 
1 1 2 
2 1 2 
3 1 2 

Khi tôi chỉ đơn giản là cố gắng gán một cột mới như

tên của cột chỉ đơn giản là n.

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

Trả lời

3

Đó không phải là ý tưởng tốt nhất để đặt tên một cột với một số, nhưng điều này sẽ làm việc:

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

meh @ bằng cách sử dụng 'dán' cho tác dụng phụ của nó ở đây - chỉ cần sử dụng 'as.character' – eddi

2

Bạn cũng có thể làm:

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

Mặc dù, như đã được chỉ trước ra , nó không phải là thực hành tốt để cung cấp cho các con số như tên cột.

Các vấn đề liên quan