[Rd] Behavior of seq_along (was: Create a new var reflecting the order of subjects in existing var)
Benilton Carvalho
bcarvalh at jhsph.edu
Tue Apr 3 06:46:18 CEST 2007
I'm not sure what your sessionInfo() is, but take a look at what I got:
> set.seed(123)
> dat <- data.frame(ID= c(rep(1,2),rep(2,3), rep(3,3), rep(4,4),
+ rep(5,5)), var1 =rnorm(17, 35,2), var2=runif(17,0,1))
> dat
ID var1 var2
1 1 33.87905 0.02461368
2 1 34.53965 0.47779597
3 2 38.11742 0.75845954
4 2 35.14102 0.21640794
5 2 35.25858 0.31818101
6 3 38.43013 0.23162579
7 3 35.92183 0.14280002
8 3 32.46988 0.41454634
9 4 33.62629 0.41372433
10 4 34.10868 0.36884545
11 4 37.44816 0.15244475
12 4 35.71963 0.13880606
13 5 35.80154 0.23303410
14 5 35.22137 0.46596245
15 5 33.88832 0.26597264
16 5 38.57383 0.85782772
17 5 35.99570 0.04583117
> ave(dat$ID, dat$ID, FUN = function(x) seq_along(x))
[1] 1 2 1 2 3 1 2 3 1 2 3 4 1 2 3 4 5
> ave(dat$ID, dat$ID, FUN = seq_along)
[1] 1 2 1 2 3 1 2 3 1 2 3 4 1 2 3 4 5
> sessionInfo()
R version 2.5.0 Under development (unstable) (2007-01-07 r40398)
x86_64-unknown-linux-gnu
locale:
LC_CTYPE=en_US.iso885915;LC_NUMERIC=C;LC_TIME=en_US.iso885915;LC_COLLATE
=en_US.iso885915;LC_MONETARY=en_US.iso885915;LC_MESSAGES=en_US.iso885915
;LC_PAPER=en_US.iso885915;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASU
REMENT=en_US.iso885915;LC_IDENTIFICATION=C
attached base packages:
[1] "stats" "graphics" "grDevices" "utils" "datasets"
"methods"
[7] "base"
>
cheers,
b
On Apr 3, 2007, at 12:40 AM, Gabor Grothendieck wrote:
> I am moving this from r-help to r-devel. Based on offline
> communications
> with Jim, suppose dat is defined as follows:
>
> set.seed(123)
> dat <- data.frame(ID= c(rep(1,2),rep(2,3), rep(3,3), rep(4,4),
> rep(5,5)), var1 =rnorm(17, 35,2), var2=runif(17,0,1))
>
> # Then this ave call works as expected:
>
> ave(dat$ID, dat$ID, FUN = function(x) seq_along(x))
>
> # but this apparently identical calculation gives an error:
>
> ave(dat$ID, dat$ID, FUN = seq_along)
>
> The only difference between the two calls is that the first one
> uses seq_along and the second uses function(x) seq_along(x)
> in its place.
>
> Does anyone know why the second gives an error? Is this
> a bug in the implementation of seq_along?
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list