Если список не ограничен одним уровнем, используйте rapply
.
# test data modified from question
my_list2 <- list(list(A = c(a = 1, b = 2, c = 3)), B = c(x = 10, y = 20))
rapply(my_list2, function(x) replace(x, TRUE, NA), how = "list")
, который также можно записать как:
rapply(my_list2, replace, list = TRUE, values = NA, how = "list")