# Re: [R] matrix logic

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Thu 12 Jan 2006 - 03:54:39 EST

The following seems close to the form you were trying. It works for matrices, not dataframes. You can use as.matrix and as.data.frame to convert back and forth:

# test data
data1 <- data2 <- matrix(1:6,3)
data1[2,2] <- NA

data1[] <- ifelse(is.na(data1), data2, data1)

On 1/11/06, t c <quantpm@yahoo.com> wrote:
> Uwe,
> FYI:
>
> I tried: "data3 <- ifelse(is.na(data1), data2, data1)"
>
> It seems to me that data3 is an array of length 100.
>
> I do NOT end up with a dataset of 5 columns and 20 rows.
>
> Uwe Ligges <ligges@statistik.uni-dortmund.de> wrote:
> Tom wrote:
> > On Tue, 10 Jan 2006 20:25:23 -0500, r user wrote:
> >
> >
> >>I have 2 dataframes, each with 5 columns and 20 rows.
> >>They are called data1 and data2.I wish to create a
> >>third dataframe called data3, also with 5 columns and
> >>20 rows.
> >>
> >>I want data3 to contains the values in data1 when the
> >>value in data1 is not NA. Otherwise it should contain
> >>the values in data2.
> >>
> >>I have tried afew methids, but they do not seem to
> >>work as intended.:
> >>
> >>data3<-ifelse(is.na(data1)=F,data1,data2)
> >>
> >>and
> >>
> >>data3[,]<-ifelse(is.na(data1[,])=F,data1[,],data2[,])
> >>
> >>Please suggest the â€œbestâ€ way.
>
> "Better" way is to have the Syntax correct:
>
> data3 <- ifelse(is.na(data1), data2, data1)
>
>
> Please check the archives for almost millions of posts asking more or
> less this question...!
>
>
> > Not sure about the bast but...
> >
> > a<-c(1,2,3,NA,5)
> > b<-c(4,4,4,4,4)
> >
> > c<-a
> > c[which(is.na(a))]<-b[which(is.na(a))]
>
> Why do you want to know which()?
>
> na <- is.na(a)
> c[na] <- b[na]
>
>
> Uwe Ligges
>
>
> >
> >
> >
> >
> >>______________________________________________
> >>R-help@stat.math.ethz.ch mailing list
> >>https://stat.ethz.ch/mailman/listinfo/r-help
> >>http://www.R-project.org/posting-guide.html
> >>
> >
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
>
>
>
> ---------------------------------
>
> Photo Books. You design it and we'll bind it!
> [[alternative HTML version deleted]]
>
>
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help