

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: ggrothendieck@gmail.com
> To: metal_licaling@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_licaling@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’ drop—Get 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]]


