On Nov 23, 2010, at 8:33 AM, Joel wrote:


Is there any similar function in R to the first. in SAS?

What it dose is:

Lets say we have this table:

 a b  c
 1 1  5
 1 0  2
 2 0  2
 2 0 NA
 2 9  2
 3 1  3


and then I want do to do one thing the first time the number 1 appers in a
and something else the secund time 1 appers in a and so on.

so

something similar to:

if first.a {
a$d<-1
}else{
a$d<-0
}


The duplicated function which returns a logical vector with those features can easily be coerced to numeric.

df$d <- as.numeric(!duplicated(df$a))


I was a bit puzzled about my failure to get coercion by the method which I thought was supposed to work, namely adding 0.

df$e <- !duplicated(df$a)+0  # does not coerce

df$e <- 0 + !duplicated(df$a) # pre-adding 0 does coerce

Maybe the rules on coercion were amended.

--
David

This would give me

 a b  c b
 1 1  5 1
 1 0  2 0
 2 0  2 1
 2 0 NA 0
 2 9  2 0
 3 1  3 1

Is there such a function in R or anything similar?


thx

//Joel

--
View this message in context: 
http://r.789695.n4.nabble.com/the-first-from-SAS-in-R-tp3055417p3055417.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
[email protected] 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.

David Winsemius, MD
West Hartford, CT

______________________________________________
[email protected] 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.

Reply via email to