On Fri, 11 Jun 2021 16:15:06 +0200
Enrico Gabrielli <enricogabrielli76.per...@gmail.com> wrote:

> Hello
> I almost got through the problem in post "aggregation of irregular
> interval time-series"
> I just don't understand how to fix that when I try
> ''
> with(datatable,ifelse(is.na(x),y,x))
> ''
> if y is na
> replaces me with 0
> and not with na
> 
> Thank you

Works fine for me.  There's something going on that you're not
telling us or have messed up.

Example:

x <- 1:10
x[c(1,3,5)] <- NA
y <- (1:10)/10
y[c(3,5,7)] <- NA
mung <- data.frame(x=x,y=y)
gorp <- with(mung,ifelse(is.na(x),y,x))
cbind(mung,result=gorp)

No spurious zeroes.

Note however that this is yet another example of the unnecessary use of
ifelse().  Much better is:

gorp2 <- x
i <- is.na(x)
gorp2[i] <- y[i]

Check:

all.equal(gorp,gorp2) # TRUE

As has been pointed out, you should include a minimal reproducible
example in questions such as this.  Creating such an example almost
always reveals the source of the problem so that you can solve it
yourself.

cheers,

Rolf Turner

-- 
Honorary Research Fellow
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to