[R] conditional statement to replace values in dataframe with NA
Daisy Englert Duursma
daisy.duursma at gmail.com
Thu Jun 7 05:58:16 CEST 2012
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(NA,nrow(dat2)
dat2$y<-rep(NA,nrow(dat2)
#select the other rows and rbind everything back together
#This is where I get stuck
#The end dataframe will look something like:
x y fac
NA NA B
NA NA A
1 2 C
1 3 C
1 2 C
1 3 A
#Is there a better way to do this where I do not need to subset
perhaps using lapply?
Thanks,
Daisy
--
Daisy Englert Duursma
Department of Biological Sciences
Room E8C156
Macquarie University, North Ryde, NSW 2109
Australia
Tel +61 2 9850 9256
More information about the R-help
mailing list