簡體   English   中英

如何在 R 中一次重新編碼具有相同映射的多個變量?

[英]How can I recode multiple variables with the same mapping at once in R?

我正在努力尋找一種更簡潔的方法來一次以更精簡的方式重新編碼(數字到數字)多個變量。 有沒有比下面這段代碼更簡單的方法?


mhomes_min <- mhomes %>% 
  mutate(contrib_private_3rd_party = recode(contrib_private_3rd_party,
     `1` = 1,
     `2` = 49,
     `3` = 100,
     `4` = 200,
     `5` = 500,
     `6` = 1000,
     `7` = 5000,
     `8` = 10000,
     `9` = 20000)) %>% 
  mutate(contrib_firm_3rd_party = recode(contrib_firm_3rd_party,
     `1` = 1,
     `2` = 49,
     `3` = 100,
     `4` = 200,
     `5` = 500,
     `6` = 1000,
     `7` = 5000,
     `8` = 10000,
     `9` = 20000)) %>% ...

我們可以使用mutate和 cross across指定要recode across列名 d 來修改這些列

mhomes <- mhomes %>%
  mutate(across(c(contrib_private_3rd_party, contrib_firm_3rd_party), 
     ~ recode(., `1` = 1,
 `2` = 49,
 `3` = 100,
 `4` = 200,
 `5` = 500,
 `6` = 1000,
 `7` = 5000,
 `8` = 10000,
 `9` = 20000)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM