Skip to content

Commit bbc4d53

Browse files
authored
skip replacing NAs when appropriate (#6344)
1 parent cee2560 commit bbc4d53

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

R/scale-.R

+5-1
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,11 @@ ScaleContinuous <- ggproto("ScaleContinuous", Scale,
714714
pal <- self$palette(uniq)
715715
scaled <- pal[match(x, uniq)]
716716

717-
ifelse(!is.na(scaled), scaled, self$na.value)
717+
if (!anyNA(scaled)) {
718+
return(scaled)
719+
}
720+
721+
vec_assign(scaled, is.na(scaled), self$na.value)
718722
},
719723

720724
rescale = function(self, x, limits = self$get_limits(), range = limits) {

R/scale-continuous.R

+4-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,10 @@ ScaleContinuousPosition <- ggproto("ScaleContinuousPosition", ScaleContinuous,
142142
# can tell the difference between continuous and discrete data.
143143
map = function(self, x, limits = self$get_limits()) {
144144
scaled <- as.numeric(self$oob(x, limits))
145-
ifelse(!is.na(scaled), scaled, self$na.value)
145+
if (!anyNA(scaled)) {
146+
return(scaled)
147+
}
148+
vec_assign(scaled, is.na(scaled), self$na.value)
146149
},
147150
break_info = function(self, range = NULL) {
148151
breaks <- ggproto_parent(ScaleContinuous, self)$break_info(range)

0 commit comments

Comments
 (0)