Thanks a lot for your reply.
I expect a more flexible solution. Because I couldn't check that column one by one. If another Rep colum is: useractivity_act 2 2 3 3 3 4 5 5 6 useractivity_idle i should be able to write a program to make it as: useractivity_act 2 3 4 5 6 useractivity_idle Only keep 1st value of repeated values. I have been working no it for a while....Still didnt get solution. Thanks for your concentration. Tammy > Date: Thu, 12 Mar 2009 08:03:11 -0400 > Subject: Re: [R] who can give me some hint? > From: ggrothendi...@gmail.com > To: metal_lical...@live.com > CC: r-help@r-project.org > > I assume the problem is to only keep those rows whose > Rep value is not equal to the Rep value in the prior row. > In that case just compare c("", Rep[-nr]) to Rep and > use the resulting vector, ix, to select out rows. > Rep <- as.character(act_2$Rep) could > be simplified to Rep <- act_2$Rep if Rep > is already known to be "character". > > > Lines <- "Date Dtime Hour Min Second Rep > 51 2006-02-22 14:52:18 14 52 18 useractivity_act > 52 2006-02-22 14:52:18 14 52 18 4 > 55 2006-02-22 14:52:49 14 52 49 4 > 57 2006-02-22 14:52:51 14 52 51 4 > 58 2006-02-22 14:52:52 14 52 52 3 > 60 2006-02-22 14:54:42 14 54 42 useractivity_idle" > > act_2 <- read.table(textConnection(Lines), header = TRUE, as.is = TRUE) > > nr <- nrow(act_2) > Rep <- as.character(act_2$Rep) > ix <- Rep != c("", Rep[-nr]) > act_2[ix] > > On Thu, Mar 12, 2009 at 6:25 AM, Tammy Ma <metal_lical...@live.com> wrote: > > > > > > > > Hi All, > > > > > >> act_2 > > Date Dtime Hour Min Second Rep > > 51 2006-02-22 14:52:18 14 52 18 useractivity_act > > 52 2006-02-22 14:52:18 14 52 18 4 > > 55 2006-02-22 14:52:49 14 52 49 4 > > 57 2006-02-22 14:52:51 14 52 51 4 > > 58 2006-02-22 14:52:52 14 52 52 3 > > 60 2006-02-22 14:54:42 14 54 42 useractivity_idle > > > > I want to change act_2 to > > Date Dtime Hour Min Second Rep > > > > 51 2006-02-22 14:52:18 14 52 18 useractivity_act > > > > 52 2006-02-22 14:52:18 14 52 18 4 > > 58 2006-02-22 14:52:52 14 52 52 3 > > 60 2006-02-22 14:54:42 14 54 42 useractivity_idle > > > > in other word, I want to keep 1st if there are many repeated value, I made > > the program as: > > > > > > rm_r<-function(act_2){ > > dm<-dim(act_2)[1]-1 > > for(i in 2:dm){ > > > > if(act_2$Rep[i+1]==act_2$Rep[i]){ > > act_2<-act_2[-(i+1),] > > }else{ > > act_2<-act_2 > > } > > } > > return(act_2) > > } > > > > when it moved one row on 1st loop, i should still start 2 but it become 3 > > at 2nd loop, if I add i<-i-1, then i go to 1 > > seems not reasonbale. How should I modify it`? > > > > Tammy > > _________________________________________________________________ > > Drag n dropGet easy photo sharing with Windows Live Photos. > > > > http://www.microsoft.com/windows/windowslive/products/photos.aspx > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > 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. > > > > _________________________________________________________________ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx [[alternative HTML version deleted]]
______________________________________________ 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.