[Rd] Unexpected behaviour of x[i] when i is a matrix, on Windows

Wolfgang Huber whuber at embl.de
Fri Feb 12 19:21:55 CET 2010


Hi Simon and Peter

Ouch, I am sorry for raising this.

I hadn't even considered that this basic functionality might only have 
entered R between 2.10 and 2.11 - and that trying to use it would not 
raise an error pre-2.11.

The Windows PC was that of a student, which is a lame non-excuse for not 
trying with 2.11 there.

	Sorry again for wasting your time, and best wishes
	Wolfgang




Simon Urbanek scripsit 02/12/2010 07:15 PM:
> 
> On Feb 12, 2010, at 12:50 , Wolfgang Huber wrote:
> 
>> Hi,
>>
>> when running the following on different instances of R (Linux and 
>> Windows), I get different results. The one for Linux seems to be the 
>> intended / documented one. When using numeric indices rather than 
>> characters, Windows seemed to behave as expected.
>>
> 
> AFAICT this has nothing to do with the platform but with using an older 
> R version in Windows that doesn't support it  ...
> 
>  From NEWS:
> 
>                 CHANGES IN R VERSION 2.11.0
> [...]
> NEW FEATURES
> [...]
>     o   n-dimensional arrays with dimension names can now be indexed
>         by an n-column character matrix. The indices are matched
>         against the dimension names.  NA indices are propagated to the
>         result.  Unmatched values and "" are not allowed and result in
>         an error.
> 
> 
> Cheers,
> Simon
> 
> 
> 
>> -----------On Windows--------------
>>
>> x = matrix(FALSE, nrow=3, ncol=3)
>> colnames(x) = LETTERS[1:3]
>> rownames(x) = letters[1:3]
>> x
>>
>> #       A     B     C
>> # a FALSE FALSE FALSE
>> # b FALSE FALSE FALSE
>> # c FALSE FALSE FALSE
>>
>> x [ cbind("b", "B") ] = TRUE
>> x
>>                                                          b     B
>> # FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE
>>
>> sessionInfo()
>>
>> R version 2.10.0 (2009-10-26)
>> i386-pc-mingw32
>>
>> locale:
>> [1] LC_COLLATE=English_United States.1252
>> [2] LC_CTYPE=English_United States.1252
>> [3] LC_MONETARY=English_United States.1252
>> [4] LC_NUMERIC=C
>> [5] LC_TIME=English_United States.1252
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>>
>> -----------On Linux--------------
>> x = matrix(FALSE, nrow=3, ncol=3)
>> colnames(x) = LETTERS[1:3]
>> rownames(x) = letters[1:3]
>> x
>> #       A     B     C
>> # a FALSE FALSE FALSE
>> # b FALSE FALSE FALSE
>> # c FALSE FALSE FALSE
>> x [ cbind("b", "B") ] = TRUE
>> x
>> #       A     B     C
>> # a FALSE FALSE FALSE
>> # b FALSE  TRUE FALSE
>> # c FALSE FALSE FALSE
>>
>> > sessionInfo()
>> R version 2.11.0 Under development (unstable) (2010-02-12 r51125)
>> x86_64-unknown-linux-gnu
>>
>> locale:
>> [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>> [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>> [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8
>> [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>> [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices datasets  utils     methods   base
>>
>> other attached packages:
>> [1] fortunes_1.3-7
>>
>>
>>
>>
>> -- 
>>
>> Best wishes
>>     Wolfgang
>>
>>
>> -- 
>> Wolfgang Huber
>> EMBL
>> http://www.embl.de/research/units/genome_biology/huber/contact
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
> 


-- 

Best wishes
      Wolfgang


--
Wolfgang Huber
EMBL
http://www.embl.de/research/units/genome_biology/huber/contact



More information about the R-devel mailing list