Interesting. Check this out: u <- sample(c(TRUE, FALSE), 10, replace = TRUE) > u [1] FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE > class(u) [1] "logical" > u + 0 [1] 0 0 1 0 0 1 0 0 0 0 > 0 + u [1] 0 0 1 0 0 1 0 0 0 0
v <- rpois(10, 3) > !duplicated(v) [1] TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE > class(!duplicated(v)) [1] "logical" > !duplicated(v) + 0 [1] TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE > 0 + !duplicated(v) [1] 1 0 1 1 1 1 0 1 0 1 # Now assign !duplicated(v) to an object: > w <- !duplicated(v) > class(w) [1] "logical" > 0 + w [1] 1 0 1 1 1 1 0 1 0 1 > w + 0 [1] 1 0 1 1 1 1 0 1 0 1 I can see *what* is going on, but what is the reason for it? I see another notebook entry coming :) Dennis On Tue, Nov 23, 2010 at 6:12 AM, David Winsemius <[email protected]>wrote: > > 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. > [[alternative HTML version deleted]] ______________________________________________ [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.

