Eso que cuentas se llama multiplicación matricial. Usa %*%.

El jue., 28 jun. 2018 14:37, Manuel Mendoza <mmend...@mncn.csic.es>
escribió:

>
> Buenas tardes, tengo 2 dfs: Dieta de (108x11) y Abund de (591x108).
> Necesito multiplicar cada columna de la 1ª (108
> <https://maps.google.com/?q=de+la+1%C2%AA+(108&entry=gmail&source=g>
> elementos) por cada
> fila de la 2ª (108 elementos) y crear una nueva df con las sumas de
> esas multiplicaciones. He hecho esto, pero no sale y creo que está
> lejos de estar bien:
>
>
> Res <- matrix(nrow=nrow(Abund),ncol=ncol(Dieta))
> Res <- as.data.frame(Res)
>
> for(i in 1:nrow(Dieta)){
>     for(j in 1:ncol(Abund)){
>       a<-as.vector(Dieta[,i])
>       b<-as.vector(Abund[j,])
>       sum <- sum(a * b)
>       Res[i,j]<-sum
>      }
>    print(i)
>    }
>
>
>
> --
> Dr Manuel Mendoza
> Department of Biogeography and Global Change
> National Museum of Natural History (MNCN)
> Spanish Scientific Council (CSIC)
> C/ Serrano 115bis, 28006 MADRID
> Spain
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a