[英]R and dplyr: how to use ifelse condition with an external dataframe
[英]How to use a ifelse or dplyr in R?
print(mydata)
Race Ethnicity
White Hispanic
White Non-Hispanic
Black Unknown
Asian Non-Hispanic
White NA
White Non-Hispanic
我想要一個新專欄。 如果有人是西班牙裔,我希望他們在新專欄中成為西班牙裔,無論種族如何。 但如果他們的種族是非西班牙裔、未知或 NA。 我想參加他們的比賽。
這是我想要的輸出
print(mydata)
Race Ethnicity RaceEthnic
White Hispanic Hispanic
White Non-Hispanic White
Black Unknown Black
Asian Non-Hispanic Asian
White NA White
White Non-Hispanic White
我試過這樣的事情,但沒有用
data <- data %>%
mutate(EthnicRace = ifelse(Ethnicity == "Hispanic" ~ "Hispanic", Race))
你快到了:
data <- data %>%
mutate(EthnicRace = ifelse(Ethnicity == "Hispanic", "Hispanic", Race))
~
用於case_when
而不是ifelse
(假設 'Ethnicity' 和 'Race' 都是character
類
library(dplyr)
mydata %>%
mutate(EthnicRace = case_when(Ethnicity == "Hispanic"~ "Hispanic",
TRUE ~ Race))
# Race Ethnicity EthnicRace
#1 White Hispanic Hispanic
#2 White Non-Hispanic White
#3 Black Unknown Black
#4 Asian Non-Hispanic Asian
#5 White <NA> White
#6 White Non-Hispanic White
或者另一種選擇是replace
mydata %>%
mutate(EthnicRace = replace(Race, Ethnicity == "Hispanic", "Hispanic"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.