[英]Mutate a column with condition dplyr
嘗試這個:
library(tidyverse)
df %>%
pivot_wider(
names_from = Question,
values_from = Answer) %>%
mutate(Test = ifelse(`Where are you from?` == "Paris" & `Do you like chocolate?` == "No",
"A",
ifelse(`Where are you from?` == "Paris" & `Do you like chocolate?` == "Yes",
"B",
"C")))
# A tibble: 3 × 4
ID `Where are you from?` `Do you like chocolate?` Test
<dbl> <chr> <chr> <chr>
1 111 Paris Yes B
2 222 Paris No A
3 333 DC Yes C
如果您想擁有原始格式的 dataframe,請添加pivot_longer
:
df %>%
pivot_wider(
names_from = Question,
values_from = Answer) %>%
mutate(Test = ifelse(`Where are you from?` == "Paris" & `Do you like chocolate?` == "No",
"A",
ifelse(`Where are you from?` == "Paris" & `Do you like chocolate?` == "Yes",
"B",
"C"))) %>%
pivot_longer(2:3,
names_to = "Question")
# A tibble: 6 × 4
ID Test Question value
<dbl> <chr> <chr> <chr>
1 111 B Where are you from? Paris
2 111 B Do you like chocolate? Yes
3 222 A Where are you from? Paris
4 222 A Do you like chocolate? No
5 333 C Where are you from? DC
6 333 C Do you like chocolate? Yes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.