簡體   English   中英

使用 forcats package 代替基礎 R

[英]Using the forcats package instead of base R

我首先使用下面的代碼離散化一個連續變量:

library(dplyr)
ChickWeight2 <-
  mutate(ChickWeight,
         weight5 = case_when(weight <= 50 ~ 1,
                             weight > 50 & weight <= 100 ~ 2,
                             weight > 100 & weight <= 150 ~ 3,
                             weight > 150 & weight <= 200 ~ 4,
                             TRUE ~ 5))

然后使用 base-R 函數將此離散變量轉換為序數變量:

ChickWeight2 <- mutate(ChickWeight2, weight5_2 =
                  factor(weight5, levels = c(1, 2, 3, 4, 5),
                                  labels = c("very little", "litle",
                                             "medium","big","very big"),
                                  ordered = TRUE))

如何使用 forcats package 而不是基本 R 中的函數創建這個序數變量?

我認為fct_recode更接近您想要的,您可以手動將新標簽指定為原始因子。

library(dplyr)
library(forcats)

ChickWeight2 %>%
  mutate(weight5_2 = fct_recode(weight5, "very little" = "1", "litle" = "2", 
                                "medium" = "3", "big" = "4", "very big" = 5))

但這並沒有給出基本 R 嘗試中的有序因子。

暫無
暫無

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

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