簡體   English   中英

使用 Tidyverse 在 R 中將連續變量重新編碼為具有“特定”類別的分類

[英]Recoding continuous variable into categorical with *specific" categories, in R using Tidyverse

我發現這個對幾乎同一個問題很有幫助的答案,但它並不能完全滿足我的需要。

我有受訪者的年齡,一個連續變量,我想使用 tidyverse 將其重新編碼為分類。 上面的鏈接包括對函數cut_number()cut_interval()cut_width()的解釋,但這些對我不起作用的原因是因為我想重新編碼為我已經提前確定的類別,即范圍 18-34、35-54 和 55+。 這些cut功能都不允許我這樣做(或者至少我沒有看到如何)。

我能夠讓我的代碼在沒有 tidyverse 的情況下運行,使用:

data$age[data$"Age(Self-report)"<35] <- "18-34"
data$age[data$"Age(Self-report)">34 & data$"Age(Self-report)"<55] <- "35-54"
data$age[data$"Age(Self-report)">55] <- "55+"

但我試圖在我的編碼風格上保持一致,並想學習如何在 Tidyverse 中做到這一點。 感謝您的任何幫助!

tidyverse方法將使用dplyr::case_when重新編碼變量,如下所示:

data %>% 
  mutate(age = case_when(
    `Age(Self-report)` < 35 ~ "18-34",
    `Age(Self-report)` > 34 & `Age(Self-report)` < 55 ~ "35-54",
    `Age(Self-report)` > 55 ~ "55+"
  ))

暫無
暫無

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

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