Ok, muchas gracias, con vuestras soluciones resuelvo el problema, un saludo

To: c...@qualityexcellence.es; fjr...@hotmail.com
CC: r-help-es@r-project.org
From: javier.ruben.marcu...@gmail.com
Subject: RE: [R-es] Duda sobre construccion de vectores
Date: Mon, 25 Jul 2016 15:32:45 -0300

Estimado Francisco Hay una forma as.vector, por ejemplo (luego puedes usar como 
ya le suguieren): > x <-c(1,2,3,4)> y <-c(8,9,9,7)> z <- data.frame(x,y)> z  x 
y1 1 82 2 93 3 94 4 7> as.vector(z)  x y1 1 82 2 93 3 94 4 7> w <- 
as.vector(z)> w[1]  x1 12 23 34 4>  Javier Rub�n Marcuzzi De: Carlos Ortega
Enviado: lunes, 25 de julio de 2016 14:30
Para: Francisco Rodr�guez
CC: r-help-es@r-project.org
Asunto: Re: [R-es] Duda sobre construccion de vectores Hola Francisco, Esta es 
otra forma, > M[ as.matrix(data.frame(i = 1:length(index), j = index))][1] 4 7 
8 Saludos,Carlos Ortegawww.qualityexcellence.es    El 25 de julio de 2016, 
19:06, Francisco Rodr�guez <fjr...@hotmail.com>escribi�: > Creo que me puede 
valer, muchas gracias Jorge, voy a probarlo y te cuento> > From: 
jorgeivanve...@gmail.com> Date: Mon, 25 Jul 2016 12:05:05 -0500> Subject: Re: 
[R-es] Duda sobre construccion de vectores> To: fjr...@hotmail.com> CC: 
r-help-es@r-project.org> > Buenas tardes, Francisco.> Quiz�s no sea la manera 
mas eficiente, pero proporciona el resultado que> buscas:> R> M <- 
matrix(c(2,3,3,4,5,6,7,7,8,11,10,5), nrow = 3, ncol = 4)R> index> <- c(2,3,3)R> 
sapply(1:NROW(M), function(.row) M[.row,][index[.row]])[1] 4> 7 8> 
Saludos,Jorge.-> > > > 2016-07-25 11:54 GMT-05:00 Francisco Rodr�guez 
<fjr...@hotmail.com>:> Hola buenas tardes comunidad, seguro que hay algo f�cil, 
pero se me escapa> y es que estoy hoy algo torpe seguramente, a ver me gustar�a 
hacer lo> siguiente:> > Dada una matriz M (que puede ser muy grande), me 
gustaria crear un vector,> sin usar bucles (ya que cuando es muy grande, todo 
puede ser muy lento) del> siguiente modo.> > Para cada una de sus filas, me 
gustar�a seleccionar un �nico elemento de> una columna dada por otro vector, 
as� por ejemplo:> > -Si la matriz de partida es:> > M <- 
matrix(c(2,3,3,4,5,6,7,7,8,11,10,5), nrow = 3, ncol = 4)> > -As� pues se tiene 
que:> > M> >      [,1] [,2] [,3] [,4][1,]    2    4    7   11[2,]    3    5    
7>  10[3,]    3    6    8    5> > -Y el vector indicador es:> > Indicador <- 
c(2,3,3)> > -Me gustar�a tener una nuevo vector, cuyos componentes fueran (si 
el> vector se llamase Resultado) los siguientes:> > Resultado{1} 4 7 8> > -Es 
decir ser�a la segunda componente del primer registro, la tercera> componente 
del segundo registro y la tercera componente del tercer registro> > -No 
recuerdo si se digo hace tiempo algo de con la librer�a data.table, me> da 
igual tener que usar cualquier librer�a, pero el tema es tratar de hacer> que 
sea una operaci�n vectorial que por ejemplo evite un bucle tal como:> > 
Resultado <- vector("numeric", 3)> > for (i in (1:3)){> > Resultado[i] = M[i, 
Indicador[i]]}> > -El cu�l, como he comentado ser�a lento si el n�mero de filas 
de matriz> fuese muy elevado> > Un saludo y muchas gracias> >         
[[alternative HTML version deleted]]> > > > > 
_______________________________________________> > 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>    -- 
Saludos,Carlos Ortegawww.qualityexcellence.es                 [[alternative 
HTML version deleted]] _______________________________________________R-help-es 
mailing 
listR-help-es@r-project.orghttps://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