簡體   English   中英

分類分類數據 R

[英]Categorize categorical data R

我正在嘗試對一列分類數據進行分類

 current        |desired 
| DN974         | a   | 
| DN469B        | a   |
| DN469W;DN469E | b   |
| DN80          | b   | 
| EZDH01        | c   |
| DN971         | c   |

我嘗試了什么:

a <- c("DN974", "DN469B", "DN469W;DN469E", "DN80", "EZDH01", "DN971")
df <- data.frame(a)
df <- mutate(df, a=if_else((a=="DN974" | a=="DN469B"), "a", 
                          (if_else(a=="DN469W;DN469E" | a=="DN80"), "b", "c")))

我正在嘗試使用 if_else function,但無法使其正常工作。 我收到錯誤Error: unexpected ',' in: "df <- mutate(df, a=if_else((a=="DN974" | a=="DN469B"), "a", (if_else(a=="DN469W;DN469E" | a=="DN80")

我使用的是正確的 function 嗎,我做錯了什么? 謝謝

嵌套的ifelse不是一個好主意,因為它們往往不可讀並且更容易出現錯誤。 使用case_when

suppressPackageStartupMessages(library(dplyr))

a <- c("DN974", "DN469B", "DN469W;DN469E", "DN80", "EZDH01", "DN971")
df <- data.frame(a)

df <- df %>%
  mutate(a = case_when(
    a %in% c("DN974","DN469B") ~ "a",
    a %in% c("DN469W;DN469E", "DN80") ~ "b",
    TRUE ~ "c"
  ))

df
#>   a
#> 1 a
#> 2 a
#> 3 b
#> 4 b
#> 5 c
#> 6 c

reprex package (v2.0.1) 創建於 2022-04-25

暫無
暫無

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

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