[R] How to calculate the product of every two elements in two lists?

Dennis Murphy djmuser at gmail.com
Tue Jun 14 01:07:10 CEST 2011


Hi:

Here's a slightly different approach:

# Create two numeric matrices with outer():
o1 <- outer(u,u,">=") * 1L
o2 <- outer(v, v, ">=") * 1L

# Make a list of matrices that multiplies column i of o1
# vs. each column of o2 - use the * operator to do this
# Shows what is going on at each step:
lapply(seq(ncol(o1)), function(s) o1[, s] * o2)

# Concatenate all product columns together into a matrix:
do.call(cbind, lapply(seq(ncol(o1)), function(s) o1[, s] * o2))

HTH,
Dennis

On Mon, Jun 13, 2011 at 6:23 AM, carla moreira <carlamgmm at gmail.com> wrote:
>
> u<-c(0.1,0.2,0.3)
> v<-c(0.2,0.3,0.5)
>
> outer1<-outer(u,u,">=")
> outer2<-outer(v,v,">=")
> m<-nrow(outer1)
> j<-nrow(outer2)
> zz<-lapply(1:m, function(m) as.numeric(outer1[m,]))
> tt<-lapply(1:m, function(m) as.numeric(outer2[m,]))
>
> zz[[1]]*tt[[3]], e.g., is possible, but I want every products between two
> lists.
>
> Is there a way to do that?
>
> --
> View this message in context: http://r.789695.n4.nabble.com/How-to-calculate-the-product-of-every-two-elements-in-two-lists-tp3593832p3593832.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
>



More information about the R-help mailing list