簡體   English   中英

mutate und case_when 有多個案例

[英]mutate und case_when with multiple cases

我想基本上寫一個語法來獲得 T 分數的一般尺度。 為了規范這些,有兩個條件,性別和年齡,這需要單獨的 T 分數。

所以我的數據看起來像這樣:

w <- factor(c("m", "w", "w", "m", "m", "w", "w", "w", "m", "m"))
x <- c(28, 18, 25, 29, 21, 19, 27, 26, 31, 22)
y <- c(80, 55, 74, 101, 84, 74, 65, 56, 88, 78)
z <- c(170, 174, 183, 190, 185, 178, 169, 163, 189, 184)
bsp1 <- data.frame(w, x, y, z)
colnames(bsp1) <- c("Geschlecht", "Alter", "xx", "yy")
rm(w, x, y, z)
bsp1

到目前為止,我已經創建了類似的東西,盡管在這個例子中它並不完整。

bsp1 <- bsp1 %>%
  mutate(xxx =
           case_when(
             Geschlecht = "m" & Alter > 18 & xx == 55 ~ "1", 
             Geschlecht = "m" & Alter > 18 & xx == 56 ~ "2", 
             Geschlecht = "m" & Alter > 18 & xx == TRUE  ~ "3", 
           ))

我似乎無法弄清楚,如何將這些多個條件組合到 case_when function 中。 另外,如果最后需要一個 TRUE 語句,它在哪里 go?

我希望這是可以理解的,我想在這里做什么。 先感謝您。

你可能打算寫:

library(dplyr)

bsp1 <- bsp1 %>%
          mutate(xxx =
                  case_when(
                    Geschlecht == "m" & Alter > 18 & xx == 55 ~ 1, 
                    Geschlecht == "m" & Alter > 18 & xx == 56 ~ 2, 
                    TRUE  ~ 3 
                 ))

暫無
暫無

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

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