Q:

how to make a logical response when there is value of empty

I have a data like this 
df<- structure(list(X1 = c(37L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, NA, 
11L, 12L), X2 = c(40L, NA, 35L, 35L, 35L, 34L, 29L, 28L, 28L, 
NA, 25L, 24L), X3 = c(60L, 44L, 49L, 41L, NA, NA, NA, 25L, 26L, 
NA, NA, 22L), T1 = c(19L, 55L, 47L, 46L, 36L, 42L, 25L, NA, 33L, 
42L, 50L, 22L), T2 = c(75L, NA, 32L, 44L, 27L, 31L, 17L, NA, 
18L, 45L, 10L, 11L), T3 = c(5L, 6L, 7L, 8L, 9L, 10L, 11L, NA, 
46L, 36L, 42L, NA)), class = "data.frame", row.names = c(NA, 
-12L))

I want to get True or False if there is value or there is no value. so an output look like this 
    X1       X2     X3      T1      T2      T3
1   TRUE    TRUE    TRUE    TRUE    TRUE    TRUE
2   TRUE    FALSE   TRUE    TRUE    FALSE   TRUE
3   TRUE    TRUE    TRUE    TRUE    TRUE    TRUE
4   TRUE    TRUE    TRUE    TRUE    TRUE    TRUE
5   TRUE    TRUE    FALSE   TRUE    TRUE    TRUE
6   TRUE    TRUE    FALSE   TRUE    TRUE    TRUE
7   TRUE    TRUE    FALSE   TRUE    TRUE    TRUE
8   TRUE    TRUE    TRUE    FALSE   FALSE   FALSE
9   TRUE    TRUE    TRUE    TRUE    TRUE    TRUE
10  FALSE   FALSE   FALSE   TRUE    TRUE    TRUE
11  TRUE    TRUE    FALSE   TRUE    TRUE    TRUE
12  TRUE    TRUE    TRUE    TRUE    TRUE    FALSE

A:

An easier option would be in base R would be
!is.na(df)

as it is a 'tbl_df', we can also do
library(tdyverse)
df %>%
    mutate_all(negate(is.na))
#      X1    X2    X3    T1    T2    T3
#1   TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
#2   TRUE FALSE  TRUE  TRUE FALSE  TRUE
#3   TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
#4   TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
#5   TRUE  TRUE FALSE  TRUE  TRUE  TRUE
#6   TRUE  TRUE FALSE  TRUE  TRUE  TRUE
#7   TRUE  TRUE FALSE  TRUE  TRUE  TRUE
#8   TRUE  TRUE  TRUE FALSE FALSE FALSE
#9   TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
#10 FALSE FALSE FALSE  TRUE  TRUE  TRUE
#11  TRUE  TRUE FALSE  TRUE  TRUE  TRUE
#12  TRUE  TRUE  TRUE  TRUE  TRUE FALSE

Other ways to do are
is.na(df) == FALSE # usually not done this way
df[] <- lapply(df, function(x) !is.na(x))
df[] <- !sapply(df, is.na)

