2017-05-07 123 views
1

我有這個data.frame重命名因子水平中的R

df <- data.frame(x = c("gravel", "sandstone", "siltstone")) 

我想水平的名稱前加上「R1_」重命名變量x的水平。我可以按照this answer來做。

df %>% dplyr::mutate(x = fct_recode(x, 
            "R1_gravel" = "gravel", 
            "R1_sandstone" = "sandstone", 
            "R1_siltstone" = "siltstone" 
            )) 

      x 
1 R1_gravel 
2 R1_sandstone 
3 R1_siltstone 

但是,在我的實際data.frame中,變量x有很多級別。所以,現在需要重新命名所有級別。我想知道是否有更快的方法來通過在開始時添加R1_來重命名所有級別的 。

回答

2

做這個

levels(df$x) <- paste0("R1_",levels(df$x)) 
# df 
# x 
# 1 R1_gravel 
# 2 R1_sandstone 
# 3 R1_siltstone 
+0

感謝您的時間和幫助 – aelwan