[R] question regarding vector ops
Uwe Ligges
ligges at statistik.uni-dortmund.de
Fri Apr 9 18:23:47 CEST 2004
Rajarshi Guha wrote:
> Hi,
> I was playing with some code and came upon this situation.
>
>
>>x <- c(1, rep(0,9))
>>x
>
> [1] 1 0 0 0 0 0 0 0 0 0
>
>>idx <- 1:10
>>x[idx] <- x[idx] + 1
>>x
>
> [1] 2 1 1 1 1 1 1 1 1 1
>
> This is expected. But if I do:
>
>
>>x <- c(1, rep(0,9))
>>x
>
> [1] 1 0 0 0 0 0 0 0 0 0
>
>>idx <- rep(0,10)
>>idx
>
> [1] 0 0 0 0 0 0 0 0 0 0
>
>>x[idx] <- x[idx] +1
>>x
>
> [1] 1 0 0 0 0 0 0 0 0 0
>
> I was expoecting that when all the elements of idx are set to 0,
> x[0] would become 11.
>
> Could somebody explain why this behavior occurs?
Why do you expect anything to become 11? And what is x[0] in your
expectation?
x[0] is "empty" (indexing is starting from 1 in R) and returns
numeric(0), hence
x[0] <- anything
consequently does nothing ... (alternatively, one might expect an error
message).
Uwe Ligges
> Thanks,
>
>
> -------------------------------------------------------------------
> Rajarshi Guha <rxg218 at psu.edu> <http://jijo.cjb.net>
> GPG Fingerprint: 0CCA 8EE2 2EEB 25E2 AB04 06F7 1BB9 E634 9B87 56EE
> -------------------------------------------------------------------
> A computer lets you make more mistakes faster than any other invention,
> with the possible exceptions of handguns and Tequilla.
> -- Mitch Ratcliffe
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list