On 11/10/2019 6:44 a.m., Morgan Morgan wrote:> Hi All, > > I was looking for a function to find a small matrix inside a larger matrix > in R similar to the one described in the following link: > > https://www.mathworks.com/matlabcentral/answers/194708-index-a-small-matrix-in-a-larger-matrix > > I couldn't find anything. > > The above function can be seen as a "generalisation" of the "which" > function as well as the function described in the following post: > > https://coolbutuseless.github.io/2018/04/03/finding-a-length-n-needle-in-a-haystack/ > > Would be possible to add such a function to base R? > > I am happy to work with someone from the R core team (if you wish) and > suggest an implementation in C.That seems like it would sometimes be a useful function, and maybe someone will point out a package that already contains it. But if not, why would it belong in base R? Duncan Murdoch
On 2019-10-11 04:45, Duncan Murdoch wrote:> On 11/10/2019 6:44 a.m., Morgan Morgan wrote: >> Hi All, >> >> I was looking for a function to find a small matrix inside a larger >> matrix >> in R similar to the one described in the following link: >> >> https://www.mathworks.com/matlabcentral/answers/194708-index-a-small-matrix-in-a-larger-matrix >> >> >> I couldn't find anything. >> >> The above function can be seen as a "generalisation" of the "which" >> function as well as the function described in the following post: >> >> https://coolbutuseless.github.io/2018/04/03/finding-a-length-n-needle-in-a-haystack/ >> >> >> Would be possible to add such a function to base R? >> >> I am happy to work with someone from the R core team (if you wish) and >> suggest an implementation in C. > > That seems like it would sometimes be a useful function, and maybe > someone will point out a package that already contains it.? But if > not, why would it belong in base R?????? The natural thing could be to add it to another existing package. ????? A list of different search tools appear in the Wikiversity article on "Searching R packages".[1]? I especially like the "sos" package, which includes a vignette, [2] but I also use RDocumentation and occasionally Rseek.? Google Advanced Search[3] is also very good;? I've used that for other things, but not searching for R packages. ????? I've had modest luck suggesting additions to other packages if I write the function and documentation with good examples that tend to ensure quality.? Some maintainers reject my suggestions;? other have accepted them. ????? Spencer Graves [1] https://en.wikiversity.org/wiki/Searching_R_Packages [2] Caveat:? I wrote both that Wikiversity article and the "sos" package, so I'm biased. [3] https://www.google.com/advanced_search> > Duncan Murdoch > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
Hi All, I was looking for a function to find a small matrix inside a larger matrix in R similar to the one described in the following link: https://www.mathworks.com/matlabcentral/answers/194708-index-a-small-matrix-in-a-larger-matrix I couldn't find anything. The above function can be seen as a "generalisation" of the "which" function as well as the function described in the following post: https://coolbutuseless.github.io/2018/04/03/finding-a-length-n-needle-in-a-haystack/ Would be possible to add such a function to base R? I am happy to work with someone from the R core team (if you wish) and suggest an implementation in C. Thank you Best regards, Morgan [[alternative HTML version deleted]]
Using the example in the link here are two one-liners: A <- c(2,3,4,1,2,3,4,1,1,2) x <- c(1,2) # 1 - zoo library(zoo) which( rollapply(A, length(x), identical, x, fill = FALSE, align = "left") ) ## [1] 4 9 # 2 - Base R using conversion to character gregexpr(paste(x, collapse = ""), paste(A, collapse = ""))[[1]] ## [1] 4 9 ...snip ... On Fri, Oct 11, 2019 at 3:45 AM Morgan Morgan <morgan.emailbox at gmail.com> wrote:> > Hi All, > > I was looking for a function to find a small matrix inside a larger matrix > in R similar to the one described in the following link: > > https://www.mathworks.com/matlabcentral/answers/194708-index-a-small-matrix-in-a-larger-matrix > > I couldn't find anything. > > The above function can be seen as a "generalisation" of the "which" > function as well as the function described in the following post: > > https://coolbutuseless.github.io/2018/04/03/finding-a-length-n-needle-in-a-haystack/ > > Would be possible to add such a function to base R? > > I am happy to work with someone from the R core team (if you wish) and > suggest an implementation in C. > > Thank you > Best regards, > Morgan > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel-- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
Also note that the functionality discussed could be regarded as a generalization of matrix multiplication where * and + are general functions and in this case we have * replaced by == and + replaced by &. On Fri, Oct 11, 2019 at 10:46 AM Gabor Grothendieck <ggrothendieck at gmail.com> wrote:> > Using the example in the link here are two one-liners: > > A <- c(2,3,4,1,2,3,4,1,1,2) > x <- c(1,2) > > # 1 - zoo > library(zoo) > which( rollapply(A, length(x), identical, x, fill = FALSE, align = "left") ) > ## [1] 4 9 > > # 2 - Base R using conversion to character > gregexpr(paste(x, collapse = ""), paste(A, collapse = ""))[[1]] > ## [1] 4 9 > ...snip ... > > On Fri, Oct 11, 2019 at 3:45 AM Morgan Morgan <morgan.emailbox at gmail.com> wrote: > > > > Hi All, > > > > I was looking for a function to find a small matrix inside a larger matrix > > in R similar to the one described in the following link: > > > > https://www.mathworks.com/matlabcentral/answers/194708-index-a-small-matrix-in-a-larger-matrix > > > > I couldn't find anything. > > > > The above function can be seen as a "generalisation" of the "which" > > function as well as the function described in the following post: > > > > https://coolbutuseless.github.io/2018/04/03/finding-a-length-n-needle-in-a-haystack/ > > > > Would be possible to add such a function to base R? > > > > I am happy to work with someone from the R core team (if you wish) and > > suggest an implementation in C. > > > > Thank you > > Best regards, > > Morgan > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > -- > Statistics & Software Consulting > GKX Group, GKX Associates Inc. > tel: 1-877-GKX-GROUP > email: ggrothendieck at gmail.com-- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
On Fri, 11 Oct 2019 10:45 Duncan Murdoch, <murdoch.duncan at gmail.com> wrote:> On 11/10/2019 6:44 a.m., Morgan Morgan wrote: > > Hi All, > > > > I was looking for a function to find a small matrix inside a larger > matrix > > in R similar to the one described in the following link: > > > > > https://www.mathworks.com/matlabcentral/answers/194708-index-a-small-matrix-in-a-larger-matrix > > > > I couldn't find anything. > > > > The above function can be seen as a "generalisation" of the "which" > > function as well as the function described in the following post: > > > > > https://coolbutuseless.github.io/2018/04/03/finding-a-length-n-needle-in-a-haystack/ > > > > Would be possible to add such a function to base R? > > > > I am happy to work with someone from the R core team (if you wish) and > > suggest an implementation in C. > > That seems like it would sometimes be a useful function, and maybe > someone will point out a package that already contains it. But if not, > why would it belong in base R? >If someone already implemented it, that would great indeed. I think it is a very general and basic function, hence base R could be a good place for it? But this is probably not a good reason; maybe someone from the R core team can shed some light on how they decide whether or not to include a function in base R?> Duncan Murdoch >[[alternative HTML version deleted]]
Has someone looked into the image processing area for this? That sounds a little bit too high-level for base R to me (and I would be surprised if any mainstream programming language had this kind of functionality built-in). H. On 10/11/19 03:44, Morgan Morgan wrote:> Hi All, > > I was looking for a function to find a small matrix inside a larger matrix > in R similar to the one described in the following link: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mathworks.com_matlabcentral_answers_194708-2Dindex-2Da-2Dsmall-2Dmatrix-2Din-2Da-2Dlarger-2Dmatrix&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=v96tqHMO3CLNBS7KTmdshM371i6W_v8_2H5bdVy_KHo&s=9Eu0WySIEzrWuYXFhwhHETpZQzi6hHLd84DZsbZsXYY&e> > I couldn't find anything. > > The above function can be seen as a "generalisation" of the "which" > function as well as the function described in the following post: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__coolbutuseless.github.io_2018_04_03_finding-2Da-2Dlength-2Dn-2Dneedle-2Din-2Da-2Dhaystack_&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=v96tqHMO3CLNBS7KTmdshM371i6W_v8_2H5bdVy_KHo&s=qZ3SJ8t8zEDA-em4WT7gBmN66qvvCKKKXRJunoF6P3k&e> > Would be possible to add such a function to base R? > > I am happy to work with someone from the R core team (if you wish) and > suggest an implementation in C. > > Thank you > Best regards, > Morgan > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=v96tqHMO3CLNBS7KTmdshM371i6W_v8_2H5bdVy_KHo&s=tyVSs9EYVBd_dmVm1LSC23GhUzbBv8ULvtsveo-COoU&e>-- Herv? Pag?s Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319
The link you posted used the same inputs as in my example. If that is not what you meant maybe a different example is needed. Regards. On Fri, Oct 11, 2019 at 2:39 PM Pages, Herve <hpages at fredhutch.org> wrote:> > Has someone looked into the image processing area for this? That sounds > a little bit too high-level for base R to me (and I would be surprised > if any mainstream programming language had this kind of functionality > built-in). > > H. > > On 10/11/19 03:44, Morgan Morgan wrote: > > Hi All, > > > > I was looking for a function to find a small matrix inside a larger matrix > > in R similar to the one described in the following link: > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mathworks.com_matlabcentral_answers_194708-2Dindex-2Da-2Dsmall-2Dmatrix-2Din-2Da-2Dlarger-2Dmatrix&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=v96tqHMO3CLNBS7KTmdshM371i6W_v8_2H5bdVy_KHo&s=9Eu0WySIEzrWuYXFhwhHETpZQzi6hHLd84DZsbZsXYY&e> > > > I couldn't find anything. > > > > The above function can be seen as a "generalisation" of the "which" > > function as well as the function described in the following post: > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__coolbutuseless.github.io_2018_04_03_finding-2Da-2Dlength-2Dn-2Dneedle-2Din-2Da-2Dhaystack_&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=v96tqHMO3CLNBS7KTmdshM371i6W_v8_2H5bdVy_KHo&s=qZ3SJ8t8zEDA-em4WT7gBmN66qvvCKKKXRJunoF6P3k&e> > > > Would be possible to add such a function to base R? > > > > I am happy to work with someone from the R core team (if you wish) and > > suggest an implementation in C. > > > > Thank you > > Best regards, > > Morgan > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=v96tqHMO3CLNBS7KTmdshM371i6W_v8_2H5bdVy_KHo&s=tyVSs9EYVBd_dmVm1LSC23GhUzbBv8ULvtsveo-COoU&e> > > > -- > Herv? Pag?s > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpages at fredhutch.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel-- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com