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 is a little trickier ## First > dat1[dat1$x==1 & dat1$y==1,1:2] <- rep(NA,2) > dat1 x y fac 1 <NA> <NA> A 2 1 2 B 3 1 3 A 4 <NA> <NA> C 5 1 2 A 6 1 3 C ##Slightly trickier version using with() to avoid explicit extraction from data frame ## Reconstitute dat1 > dat1 x y fac 1 1 1 C 2 1 2 C 3 1 3 B 4 1 1 B 5 1 2 C 6 1 3 B dat1 <- with(dat1,{dat1[x==1 & y==1,1:2] <- rep(NA,2); dat1}) > dat1 x y fac 1 <NA> <NA> B 2 1 2 A 3 1 3 A 4 <NA> <NA> C 5 1 2 A 6 1 3 B ## ?with for explanation -- Bert On Wed, Jun 6, 2012 at 8:58 PM, Daisy Englert Duursma <daisy.duur...@gmail.com> 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 > > #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 > > ______________________________________________ > R-help@r-project.org mailing list > 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. -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ R-help@r-project.org mailing list 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.