I am trying to create a column ID based on logical statements for values of other columns. For example, in the following dataframe
test <- st
You can't really compare NA with another value, so using == would not work. Consider the following:
NA == NA
# [1] NA
You can just change your comparison from == to %in%:
ifelse(is.na(test$time) | test$type %in% "A", NA, "1")
# [1] NA "1" NA "1"
Regarding your other question,
I could get this to work with my existing code if I could somehow change the result of
is.na(test$type)to returnFALSEinstead ofTRUE, but I'm not sure how to do that.
just use ! to negate the results:
!is.na(test$time)
# [1] TRUE TRUE FALSE TRUE