1 2 B
6 1 3 B
A.K.
- Original Message -
From: Daisy Englert Duursma
To: "r-help@R-project.org"
Cc:
Sent: Wednesday, June 6, 2012 11:58 PM
Subject: [R] conditional statement to replace values in dataframe with NA
Hello and thanks for helping.
#some data
L3 <- LE
On Jun 7, 2012, at 07:28 , Bert Gunter wrote:
> Actually, recycling makes the rep(NA,2) business unnecessary. Simply:
>
> dat1[dat1$x==1 & dat1$y==1,1:2] <- rep(NA,2)
>
> ##or
>
> with(dat1,{dat1[x==1 & y==1,1:2] <- NA;dat1})
>
> will do it.
>
Or, use the assignment form of is.na:
cond <-
Thanks, problem solved.
On Thu, Jun 7, 2012 at 1:58 PM, Daisy Englert Duursma
wrote:
> Hello and thanks for helping.
>
> #some data
> L3 <- LETTERS[1:3]
> dat1 <- data.frame(cbind(x=1, y=rep(1:3,2), fac=sample(L3, 6, replace=TRUE)))
>
>
> #When x==1 and y==1 I want to replace the 1 values with NA
Actually, recycling makes the rep(NA,2) business unnecessary. Simply:
dat1[dat1$x==1 & dat1$y==1,1:2] <- rep(NA,2)
##or
with(dat1,{dat1[x==1 & y==1,1:2] <- NA;dat1})
will do it.
-- Bert
On Wed, Jun 6, 2012 at 10:21 PM, Bert Gunter wrote:
> Have you read "An Intro to R?" If not,please do so
Have you read "An Intro to R?" If not,please do so before posting
further. The way you are going about things makes me think you
haven't, but ...
This **is** a slightly tricky application of indexing, if I understand
you correctly. Here are two essentially identical ways to do it, but
the second i
Hello and thanks for helping.
#some data
L3 <- LETTERS[1:3]
dat1 <- data.frame(cbind(x=1, y=rep(1:3,2), fac=sample(L3, 6, replace=TRUE)))
#When x==1 and y==1 I want to replace the 1 values with NA
#I can select the rows I want:
dat2<-subset(dat1,x==1 & y==1)
#replace the 1 with NA
dat2$x<-rep(N
6 matches
Mail list logo