[R-es] Matriz como producto de vectores.

rubenfcasal rubenfcasal en gmail.com
Mar Abr 18 12:40:55 CEST 2017


Hola a todos,

     Pego un trozo de una práctica de R sobre el tema (como veis está en 
formato spin: https://yihui.name/knitr/demo/stitch) por si resulta de 
interés:

#' Consideramos datos recogidos en un estudio de mejora de calidad en 
una fábrica de semiconductores.
#' Se obtuvo una muestra de obleas que se clasificaron dependiendo de si 
se encontraron partículas
#' en la matriz que producía la oblea y de si la calidad de oblea era buena
#' (Para más detalles Hall, 1994. Analysis of defectivity of 
semiconductor wafers by contigency table.
#' Proceedings of the Institute of Environmental Sciences 1, 177-183).

n <- c(320, 14, 80, 36)
particulas <- gl(2, 1, 4, labels = c("no","si"))
calidad <- gl(2, 2, labels = c("buena", "mala"))
df <- data.frame(n, particulas, calidad)
df

#' En lugar de estar en el formato de un conjunto de datos (`data.frame`)
#' puede que los datos estén en formato de tabla (`table`, `matrix`):

tabla <- xtabs(n ~ calidad + particulas)
tabla

#' Por ejemplo, si se quiere simular bajo independencia,
#' estimando las probabilidades a partir de la tabla,
#' consideraríamos:

pind <- (rowSums(tabla) %o% colSums(tabla))/(sum(tabla)^2)
matrix(pind, nrow = nrow(tabla))

rtablas <- rmultinom(ntsim, sum(n), pind) # Se fija el total de la tabla...
rtablas[ , 1:5] # Las cinco primeras simulaciones

#' Para realizar el contraste de independencia:

res <- chisq.test(tabla)
res

El 17/04/2017 a las 17:40, Carlos J. Gil Bellosta escribió:
> a <- 1:4
> b <- 3:6
> a %*% t(b)
>
>
> El 17 de abril de 2017, 17:26, Horacio <horacio9573 en gmail.com> escribió:
>
>> Buenas tengo una matriz de contingencia de 5x4 donde en la última fila
>> y última columna tengo las frecuencias marginales, en función de estas
>> quiero sacar las esperadas, pero cuando hago por ejemplo el producto,,
>>
>> Esperadas<-Estrategia["Suma",]*Estrategia[,"Suma_e"]
>>     E1    E2    E3    E4  Suma
>>   5550 14160 52650 89600 20720
>> Warning message:
>> In Estrategia["Suma", ] * Estrategia[, "Suma_e"] :
>>    longitud de objeto mayor no es múltiplo de la longitud de uno menor
>>
>> me da un vector y no una matriz,,, como puedo hacer esto? no sé si se
>> entiende lo que busco
>>
>> Gracias,,,
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Ruben Fernandez Casal
Department of Mathematics
Faculty of Computer Science
Universidade da Coruña
Corporate email: ruben.fcasal <at> udc <dot> es
--



Más información sobre la lista de distribución R-help-es