'HOW TO USE CASE WHEN STATEMENT IN R
INPUT:-
ID NAME DATE ATTENDENCE
1 murali 2021-08-20 present
1 murali 2021-08-21 absent
1 murali 2021-08-22 present
1 murali 2021-08-23 absent
1 murali 2021-08-24 present
1 murali 2021-08-25 absent
1 murali 2021-08-26 present
1 murali 2021-08-27 absent
1 murali 2021-08-28 absent
1 murali 2021-08-29 absent
1 murali 2021-08-30 absent
2 krishna 2021-08-20 absent
2 krishna 2021-08-21 absent
2 krishna 2021-08-22 absent
2 krishna 2021-08-23 absent
2 krishna 2021-08-24 absent
2 krishna 2021-08-25 absent
2 krishna 2021-08-26 present
2 krishna 2021-08-27 absent
2 krishna 2021-08-28 present
2 krishna 2021-08-29 present
2 krishna 2021-08-30 absent
OUTPUT:-
ID NAME DATE ATTENDENCE PRESENT absent
1 murali 2021-08-20 present 1 0
1 murali 2021-08-21 absent 0 1
1 murali 2021-08-22 present 1 0
1 murali 2021-08-23 absent 0 1
1 murali 2021-08-24 present 1 0
1 murali 2021-08-25 absent 0 1
1 murali 2021-08-26 present 1 0
1 murali 2021-08-27 absent 0 1
1 murali 2021-08-28 absent 0 1
1 murali 2021-08-29 absent 0 1
1 murali 2021-08-30 absent 0 1
2 krishna 2021-08-20 absent 0 1
2 krishna 2021-08-21 absent 0 1
2 krishna 2021-08-22 absent 0 1
2 krishna 2021-08-23 absent 0 1
2 krishna 2021-08-24 absent 0 1
2 krishna 2021-08-25 absent 0 1
2 krishna 2021-08-26 present 1 0
2 krishna 2021-08-27 absent 0 1
2 krishna 2021-08-28 present 1 0
2 krishna 2021-08-29 present 1 1
2 krishna 2021-08-30 absent 0 0
Solution 1:[1]
not case_when but it is a tidyverse alternative
library(dplyr)
df %>%
group_by(NAME) %>%
count(ATTENDENCE) %>%
ungroup() %>%
pivot_wider(names_from = ATTENDENCE,
values_from = n)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ruam Pimentel |
