[R] how to extract specific subscript of a matrix

peter dalgaard pd@|gd @end|ng |rom gm@||@com
Sat Jun 27 16:14:12 CEST 2020


For that, it is more straightforward to use

which(M==1, arr.ind=TRUE)

However, the desired output has 8 indices, not 12. I don't see what the desired pattern is...

- pd

> On 11 Jun 2020, at 03:01 , Jeff Newmiller <jdnewmil using dcn.davis.ca.us> wrote:
> 
> M <- matrix(c(2,2,rep(1,12), 2), nrow = 5,byrow = FALSE)
> ix <- expand.grid( r = seq.int( nrow( M ) )
>                 , c = seq.int( ncol( M ) )
>                 )
> ix[ 1 == c(M), ]
> 
> 
> On June 10, 2020 5:29:10 PM PDT, Jinsong Zhao <jszhao using yeah.net> wrote:
>> Hi there,
>> 
>> I have a matrix similar as:
>> 
>> M <- matrix(c(2,2,rep(1,12), 2), nrow = 5,byrow = FALSE)
>> 
>> I hope to get the border subscript of the block with value 1. In the 
>> above example, I hope to get:
>> 
>> (3,1), (5,1), (5,2), (4,2), (4,3), (1,3), (1,2), (3,2)
>> 
>> Is there any function can do that? or any implement idea? Thanks!
>> 
>> Best,
>> Jinsong
>> 
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
> 
> -- 
> Sent from my phone. Please excuse my brevity.
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes using cbs.dk  Priv: PDalgd using gmail.com



More information about the R-help mailing list