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?
