set.seed(1)
df<-data.frame(Q1 = sample(c("y", NA), 10, replace = T, prob = c(1/2, 1/2)),
Q2 = sample(c("y", NA), 10, replace = T, prob = c(2/3, 1/3)),
Q3 = sample(c("y", NA), 10, replace = T, prob = c(1/3, 2/3)))
> df
Q1 Q2 Q3
1 <NA> y y
2 <NA> y <NA>
3 y <NA> <NA>
4 y y <NA>
5 <NA> <NA> <NA>
6 y y <NA>
7 y <NA> <NA>
8 y <NA> <NA>
9 y y y
10 <NA> <NA> <NA>
I want to change NA
in column Q2
to 0
,the expected result as below:
> df
Q1 Q2 Q3
1 <NA> y y
2 <NA> y <NA>
3 y 0 <NA>
4 y y <NA>
5 <NA> 0 <NA>
6 y y <NA>
7 y 0 <NA>
8 y 0 <NA>
9 y y y
10 <NA> 0 <NA>
then I tried:
> df %>% .[is.na(.[,'Q2'])]<-0L
Error in df %>% .[is.na(.[, "Q2"])] <- 0L :
could not find function "%>%<-"
> df %>% `.[is.na(.[,'Q2'])]`<-0L
Error in df %>% `.[is.na(.[,'Q2'])]` <- 0L :
could not find function "%>%<-"
> df %>% `.[is.na(.[,'Q2'])]<-`0L
Error: unexpected numeric constant in "df %>% `.[is.na(.[,'Q2'])]<-`0L"
How to do it?