Hola, no encuentro el momento en el que se relacionan los inventores, es decir, lo que relaciona a dos o más inventores es la patente. Primero, ¿cómo debo ordenar los datos? Tengo 1813 número de patentes, es decir, la matriz es de dimension 1813 x 1813. Tengo varios órdenes en los datos, por ejemplo, el primer arreglo es por patente, en las columnas tengo ?no. de patente?, ?inventor 1?, ?inventor 2?, ?inventor 3??? ?inventor 13?, y en las filas tengo números de patente. En las entradas tengo nombre del inventor. Otro arreglo que tengo es mediante una tabla dinámica que hice en donde tengo por columnas ?nombre de inventor?, ?inventor 1?, ?inventor 2???. ? inventor 13?. En los renglones tengo nombres de inventor y en las entradas tengo 1 y 0. Saludos. El 13/06/2014, a las 09:14, Jorge I Velez <jorgeivanvelez en gmail.com> escribió:> Hola Rolando, > > Podrias adaptar lo siguiente: > > set.seed(10) > X <- matrix(sample(0:1, 100, replace = TRUE), ncol = 10) > colnames(X) <- LETTERS[1:10] > X > > Y <- X >= 1 > Y <- apply(Y, 2, as, "numeric") #boolean matrix > rownames(Y) <- rownames(X) > Z <- t(Y) %*% Y #adjacency matrix > Z[Z >= 1] <- 1 > diag(Z) <- 0 > Z > > Saludos, > Jorge.- > > > 2014-06-14 0:08 GMT+10:00 Rolando Valdez <rvaldezr en gmail.com>: > Hola, > > Estoy tratando de crear una matriz cuadrada, binaria y no tengo idea por dónde comenzar. > > Los datos que tengo son patentes e inventores por patente, las patentes las identifico por su código y a los inventores por nombre y también los tengo codificados. > > Deseo hacer una matriz de nxn en donde los renglones son inventores de la A a la Z y columnas son los mismos inventores de la A a la Z, las entradas de la matriz corresponderán a 1 si el inventor A tiene una patente con el inventor K?L?M, cualquier otra situación será cero. Evidentemente la matriz debe tener ceros en la diagonal pues el inventor B no puede patentar algo con el inventor B. > > Pues bien, intenté hacerlo en excel con tablas dinámicas pero no me permite poner la misma variable (inventores) en renglones y columnas. Pensé que se puede hacer en R, pero no tengo idea por dónde empezar, nisiquiera cuál sería la mejor forma de ordenar los datos. > > Si pudieran ayudarme sugiréndome algún manual o algún ejemplo para comenzar, se los agradezco de antemano. > > Saludos. > > Rolando Valdez > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >Rolando Valdez
Hola Rolando, Podrias enviarnos una submatriz de esos datos? Quizas tusdatos[1:10, 1:10]? Creo que es mas facil trabajar sobre ello. Gracias, Jorge.- 2014-06-14 1:10 GMT+10:00 Rolando Valdez <rvaldezr@gmail.com>:> Hola, no encuentro el momento en el que se relacionan los inventores, es > decir, lo que relaciona a dos o más inventores es la patente. > > Primero, ¿cómo debo ordenar los datos? > > Tengo 1813 número de patentes, es decir, la matriz es de dimension 1813 x > 1813. > > Tengo varios órdenes en los datos, por ejemplo, el primer arreglo es por > patente, en las columnas tengo "no. de patente", "inventor 1", "inventor > 2", "inventor 3"...... "inventor 13", y en las filas tengo números de patente. > En las entradas tengo nombre del inventor. > > Otro arreglo que tengo es mediante una tabla dinámica que hice en donde > tengo por columnas "nombre de inventor", "inventor 1", "inventor 2"....... " > inventor 13". En los renglones tengo nombres de inventor y en las entradas > tengo 1 y 0. > > Saludos. > El 13/06/2014, a las 09:14, Jorge I Velez <jorgeivanvelez@gmail.com> > escribió: > > > Hola Rolando, > > > > Podrias adaptar lo siguiente: > > > > set.seed(10) > > X <- matrix(sample(0:1, 100, replace = TRUE), ncol = 10) > > colnames(X) <- LETTERS[1:10] > > X > > > > Y <- X >= 1 > > Y <- apply(Y, 2, as, "numeric") #boolean matrix > > rownames(Y) <- rownames(X) > > Z <- t(Y) %*% Y #adjacency matrix > > Z[Z >= 1] <- 1 > > diag(Z) <- 0 > > Z > > > > Saludos, > > Jorge.- > > > > > > 2014-06-14 0:08 GMT+10:00 Rolando Valdez <rvaldezr@gmail.com>: > > Hola, > > > > Estoy tratando de crear una matriz cuadrada, binaria y no tengo idea por > dónde comenzar. > > > > Los datos que tengo son patentes e inventores por patente, las patentes > las identifico por su código y a los inventores por nombre y también los > tengo codificados. > > > > Deseo hacer una matriz de nxn en donde los renglones son inventores de > la A a la Z y columnas son los mismos inventores de la A a la Z, las > entradas de la matriz corresponderán a 1 si el inventor A tiene una patente > con el inventor K...L...M, cualquier otra situación será cero. Evidentemente la > matriz debe tener ceros en la diagonal pues el inventor B no puede patentar > algo con el inventor B. > > > > Pues bien, intenté hacerlo en excel con tablas dinámicas pero no me > permite poner la misma variable (inventores) en renglones y columnas. Pensé > que se puede hacer en R, pero no tengo idea por dónde empezar, nisiquiera > cuál sería la mejor forma de ordenar los datos. > > > > Si pudieran ayudarme sugiréndome algún manual o algún ejemplo para > comenzar, se los agradezco de antemano. > > > > Saludos. > > > > Rolando Valdez > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > Rolando Valdez > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Hola, Esta es una tabla dinámica que cree, en donde los renglones son los inventores y las columnas son patentes, las entradas de la matriz tienen 1 en aquellos inventores que participan por patente. https://www.dropbox.com/s/b8gx0hei6w91ko0/tabla_din.xlsx Esta es otra tabla es un arreglo parecido al de arriba, sólo que los renglones son patentes y las columnas son número de inventores, tienen 1 en donde participan inventores en la patente. https://www.dropbox.com/s/xpi0hescm1xm58c/tabla_din2.xlsx Este es otro arreglo donde sólo hay tres columnas, patentes, número de inventor e inventor. https://www.dropbox.com/s/rmmgiswmbppt68w/datos_col.csv El 13/06/2014, a las 10:27, Jorge I Velez <jorgeivanvelez en gmail.com> escribió:> Hola Rolando, > > Podrias enviarnos una submatriz de esos datos? Quizas tusdatos[1:10, 1:10]? Creo que es mas facil trabajar sobre ello. > > Gracias, > Jorge.- > > > > 2014-06-14 1:10 GMT+10:00 Rolando Valdez <rvaldezr en gmail.com>: > Hola, no encuentro el momento en el que se relacionan los inventores, es decir, lo que relaciona a dos o más inventores es la patente. > > Primero, ¿cómo debo ordenar los datos? > > Tengo 1813 número de patentes, es decir, la matriz es de dimension 1813 x 1813. > > Tengo varios órdenes en los datos, por ejemplo, el primer arreglo es por patente, en las columnas tengo ?no. de patente?, ?inventor 1?, ?inventor 2?, ?inventor 3??? ?inventor 13?, y en las filas tengo números de patente. En las entradas tengo nombre del inventor. > > Otro arreglo que tengo es mediante una tabla dinámica que hice en donde tengo por columnas ?nombre de inventor?, ?inventor 1?, ?inventor 2???. ? inventor 13?. En los renglones tengo nombres de inventor y en las entradas tengo 1 y 0. > > Saludos. > El 13/06/2014, a las 09:14, Jorge I Velez <jorgeivanvelez en gmail.com> escribió: > > > Hola Rolando, > > > > Podrias adaptar lo siguiente: > > > > set.seed(10) > > X <- matrix(sample(0:1, 100, replace = TRUE), ncol = 10) > > colnames(X) <- LETTERS[1:10] > > X > > > > Y <- X >= 1 > > Y <- apply(Y, 2, as, "numeric") #boolean matrix > > rownames(Y) <- rownames(X) > > Z <- t(Y) %*% Y #adjacency matrix > > Z[Z >= 1] <- 1 > > diag(Z) <- 0 > > Z > > > > Saludos, > > Jorge.- > > > > > > 2014-06-14 0:08 GMT+10:00 Rolando Valdez <rvaldezr en gmail.com>: > > Hola, > > > > Estoy tratando de crear una matriz cuadrada, binaria y no tengo idea por dónde comenzar. > > > > Los datos que tengo son patentes e inventores por patente, las patentes las identifico por su código y a los inventores por nombre y también los tengo codificados. > > > > Deseo hacer una matriz de nxn en donde los renglones son inventores de la A a la Z y columnas son los mismos inventores de la A a la Z, las entradas de la matriz corresponderán a 1 si el inventor A tiene una patente con el inventor K?L?M, cualquier otra situación será cero. Evidentemente la matriz debe tener ceros en la diagonal pues el inventor B no puede patentar algo con el inventor B. > > > > Pues bien, intenté hacerlo en excel con tablas dinámicas pero no me permite poner la misma variable (inventores) en renglones y columnas. Pensé que se puede hacer en R, pero no tengo idea por dónde empezar, nisiquiera cuál sería la mejor forma de ordenar los datos. > > > > Si pudieran ayudarme sugiréndome algún manual o algún ejemplo para comenzar, se los agradezco de antemano. > > > > Saludos. > > > > Rolando Valdez > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > Rolando Valdez > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >Rolando Valdez