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.