2015-04-12 17 views
7

Tôi muốn biết nếu có cách đổi tên cột theo vị trí của cột, thay vì thay đổi theo tên cột.R: dplyr - Đổi tên tên cột theo vị trí thay vì tên

Đoạn mã dưới đây cho biết cách thay đổi theo tên.

suppressPackageStartupMessages(library(dplyr)) 

gd_url <- "http://tiny.cc/gapminder" 
gtbl <- gd_url %>% 
    read.delim %>% 
    tbl_df 

gtbl <- gtbl %>% rename(life_exp = lifeExp, 
         gdp_percap = gdpPercap) 
gtbl 
+1

Vậy bạn muốn đổi tên như thế nào? Nó không phải là khá rõ ràng những gì các phương pháp tiếp cận bạn đang sau là. – A5C1D2H2I1M1N2O1R2T1

+0

Nếu bạn chọn các cột nhất định và thay đổi tên, bạn có thể làm một cái gì đó như 'select (gtbl, life_exp = 5)'. – jazzurro

+3

Sẽ không dễ dàng hơn khi thực hiện 'tên (gtbl) [5: 6] <- c ('life_exp', 'gdp_percap')' – akrun

Trả lời

9

Nếu bạn muốn dính trong dplyr ống cấp thế giới, tính đến dplyr 0.7.2 nó có thể đổi tên của vị trí bằng cách sử dụng thuật ngữ sau đây:

Sử dụng ví dụ ban đầu của bạn:

gtbl <- gtbl %>% rename("life_exp" = !!names(.[5]), 
         "gdp_percap" = !!names(.[6])) 

Kính trọng nạo vét bài đăng cũ hơn. Tôi đã có một vấn đề tương tự và xem câu hỏi này trước khi tìm ra giải pháp thay thế này.

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