An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20131201/463c9768/attachment.pl>
[R-es] Ayuda con manipulación de datos de un data.frame
12 messages · Carlos Ortega, Jorge Tornero - Listas, Isidro Hidalgo +2 more
1 day later
Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a un proyecto en el que ando involucrado. Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He intentado lo siguiente: rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
Lo puedes hacer sin crear un vector, poniendo directamente los números de columna: datos.nuevos <- datos[,3:5] Creo que el problema lo podrÃas tener en los nombres de los dataframes... ¿Cómo se llama tu dataframe original? ¿Qué error te da?
-----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- project.org] En nombre de Jorge Tornero - Listas Enviado el: martes, 03 de diciembre de 2013 13:30 Para: r-help-es en r-project.org Asunto: [R-es] seleccionar columnas de un dataframe mediante variables Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a un proyecto en el que ando involucrado. Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He intentado lo siguiente: rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola, ¿qué tal? ¿Qué son columnaInicial y columnaFinal? ¿Números? En tal caso, deberÃa funcionar lo que haces. Si no, tienes que convertirlos a números: col.ini.num <- which(colnames(datos.original) == columnaInicial) col.fin.num <- which(colnames(datos.original) == columnaFinal) Y entonces sà que puedes crear el rango col.ini.num:col.fin.num. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 3 de diciembre de 2013 13:30, Jorge Tornero - Listas <jtorlistas en gmail.com> escribió:
Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a un proyecto en el que ando involucrado. Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He intentado lo siguiente: rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Muchas gracias por la respuesta casi-instantánea. Bien, el problema es que ese rango lo tengo que volver a usar múltiples veces después, con lo cual me ocnvendrÃa que fuera dinámico, por asà decirlo, ya que el dataframe, dpendiendo de los datos de entrada, contendrá diferente número de columnas. mi dataframe original se llama p y la salida de str(p) da: str(p) 'data.frame': 9181 obs. of 219 variables: el error de, por ejemplo rangoAnalisis<-c(colIniAnalisis:columnaCorte) s<-p[,rangoAnalisis] es: Error en `[.data.frame`(p, , rangoAnalisis) : undefined columns selected Un saludo El 03/12/13 13:40, Isidro Hidalgo escribió:
Lo puedes hacer sin crear un vector, poniendo directamente los números de columna: datos.nuevos <- datos[,3:5] Creo que el problema lo podrÃas tener en los nombres de los dataframes... ¿Cómo se llama tu dataframe original? ¿Qué error te da?
-----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- project.org] En nombre de Jorge Tornero - Listas Enviado el: martes, 03 de diciembre de 2013 13:30 Para: r-help-es en r-project.org Asunto: [R-es] seleccionar columnas de un dataframe mediante variables Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a un proyecto en el que ando involucrado. Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He intentado lo siguiente: rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20131203/dc4add0b/attachment.pl>
Por el error que te da, me huele que le estás metiendo un texto a través de "colIniAnalisis" o de "columnaCorte", como te dice Carlos. Para estar seguro: str(colIniAnalisis) str(columnaCorte) Si son números te tendrÃa que funcionar, incluso aunque fueran de coma flotante R te los pasa a enteros... Un saludo Isidro Hidalgo Arellano Observatorio Regional de Empleo ConsejerÃa de Empleo y EconomÃa ihidalgo en jccm.es http://www.jccm.es
-----Mensaje original----- De: Jorge Tornero - Listas [mailto:jtorlistas en gmail.com] Enviado el: martes, 03 de diciembre de 2013 13:44 Para: Isidro Hidalgo; r-help-es en r-project.org Asunto: Re: [R-es] seleccionar columnas de un dataframe mediante variables Muchas gracias por la respuesta casi-instantánea. Bien, el problema es que ese rango lo tengo que volver a usar múltiples veces después, con lo cual me ocnvendrÃa que fuera dinámico, por asà decirlo, ya que el dataframe, dpendiendo de los datos de entrada, contendrá diferente número de columnas. mi dataframe original se llama p y la salida de str(p) da: str(p) 'data.frame': 9181 obs. of 219 variables: el error de, por ejemplo rangoAnalisis<-c(colIniAnalisis:columnaCorte) s<-p[,rangoAnalisis] es: Error en `[.data.frame`(p, , rangoAnalisis) : undefined columns selected Un saludo El 03/12/13 13:40, Isidro Hidalgo escribió:
Lo puedes hacer sin crear un vector, poniendo directamente los
números
de columna: datos.nuevos <- datos[,3:5] Creo que el problema lo podrÃas tener en los nombres de los
dataframes...
¿Cómo se llama tu dataframe original? ¿Qué error te da?
-----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- project.org] En nombre de Jorge Tornero - Listas Enviado el: martes, 03 de diciembre de 2013 13:30 Para: r-help-es en r-project.org Asunto: [R-es] seleccionar columnas de un dataframe mediante variables Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a
un
proyecto en el que ando involucrado. Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He
intentado
lo siguiente: rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola a todos: Rediela!! Si hago la prueba con rangoAnalisis<-c(110:120) Funciona!!! Pero como os comenté antes, no. Ojo!!! La idea es que tanto columnaInicial como columnaFinal son números(Ãndices) de columna!!! De hecho, haciendo el str() de estas variables me indica que son del tipo num Un saludo El 03/12/13 13:41, Carlos J. Gil Bellosta escribió:
Hola, ¿qué tal? ¿Qué son columnaInicial y columnaFinal? ¿Números? En tal caso, deberÃa funcionar lo que haces. Si no, tienes que convertirlos a números: col.ini.num <- which(colnames(datos.original) == columnaInicial) col.fin.num <- which(colnames(datos.original) == columnaFinal) Y entonces sà que puedes crear el rango col.ini.num:col.fin.num. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 3 de diciembre de 2013 13:30, Jorge Tornero - Listas <jtorlistas en gmail.com> escribió:
Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a un proyecto en el que ando involucrado. Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He intentado lo siguiente: rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Chico, me quedo a cuadros. Algún fiera de por aquà te dirá por qué, pero yo a bote pronto no tengo ni idea... Si nos puedes poner el código con el que se originan ese par de variables quizá podamos ver algo... Un saludo Isidro Hidalgo Arellano Observatorio Regional de Empleo D.G. de Desarrollo de Estrategia Económica y Asuntos Europeos Avenida de Irlanda, 14 Tlf.: 925 28 80 98 ihidalgo en jccm.es ConsejerÃa de Empleo y EconomÃa http://www.jccm.es
-----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- project.org] En nombre de Jorge Tornero - Listas Enviado el: martes, 03 de diciembre de 2013 14:09 Para: Carlos J. Gil Bellosta CC: r-help-es Asunto: Re: [R-es] seleccionar columnas de un dataframe mediante variables Hola a todos: Rediela!! Si hago la prueba con rangoAnalisis<-c(110:120) Funciona!!! Pero como os comenté antes, no. Ojo!!! La idea es que tanto columnaInicial como columnaFinal son números(Ãndices) de columna!!! De hecho, haciendo el str() de estas variables me indica que son del tipo num Un saludo El 03/12/13 13:41, Carlos J. Gil Bellosta escribió:
Hola, ¿qué tal? ¿Qué son columnaInicial y columnaFinal? ¿Números? En tal caso,
deberÃa
funcionar lo que haces. Si no, tienes que convertirlos a números: col.ini.num <- which(colnames(datos.original) == columnaInicial) col.fin.num <- which(colnames(datos.original) == columnaFinal) Y entonces sà que puedes crear el rango col.ini.num:col.fin.num. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 3 de diciembre de 2013 13:30, Jorge Tornero - Listas <jtorlistas en gmail.com> escribió:
Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a
un proyecto en el que ando involucrado.
Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He
intentado lo siguiente:
rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Pues este es el culpable... como soy nuevo en esto, disculpad si las
estrategias de creación de datframes, etc. son poco ortodoxas. Y por
cierto... esto del slicing con R es un poco... duro
library(RPostgreSQL)
library(reshape)
#CARGA DE DATOS
conn<-dbConnect("PostgreSQL",dbname="OFIDAT",user="antares")
#consulta<-dbSendQuery(conn,"select
codigo_buque,coalesce(fecha_desembarque,fecha_regreso)::date
# as fecha,al3_code,peso::numeric from DPCERCO
where peso>0;")
# PESOS y MAREAS
consulta<-dbSendQuery(conn,"select
idmarea,
codigo_buque,
al3_code,
peso
FROM
DPCERCO
where
peso>0 order by idmarea,codigo_buque;")
dpcerco<-fetch(consulta,-1)
#Con porcentajes e idmarea
p.ini<-cast(dpcerco, idmarea+codigo_buque ~ al3_code,sum)
#Ahora vamos a modificar p.ini para dejarla con las columnas ordenadas
según importancia en peso
#Primero dividimos p.ini en campos genericos (barco y fecha) y campos
con valores (especies)
p.grupos<-p.ini[1:2]
p.pesos<-p.ini[-(1:2)]
#Definimos criterio de ordenacion (es un vector con las suma total por
especie)
criterio <- apply(p.pesos, 2, sum, na.rm=TRUE)
#Aplicamos el criterio de ordenación
p.pesos.ord<-p.pesos[,order(-criterio)] #Simbolo negativo para ordenar
de mayor a menor
#CREACION DE TABLA CON PORCENTAJOS
# 1) Cogemos los nombres de las columnas originales:
nombresColumna <- colnames(p.pesos.ord)
# 2) Le añadimos a cada nombre el sufijo _peso para evitar duplicados en
nombre de columna ;
nuevosNombresColumna <- paste(nombresColumna,'_peso')
# 3) Obtenemos las sumas por fila de los pesos por marea:
totalPesoMarea <- rowSums(p.pesos.ord)
# 4) Creamos un dataframe nuevo con los porcentajes de las columnas que
corresponda, que
# conservará los nombres de columna correctos (alpha3 sin alterar)
p.porcs <- p.pesos.ord/totalPesoMarea
# 5) Cambiamos los nombres de columna del dataframe de pesos por los nuevos
colnames(p.pesos.ord) <- nuevosNombresColumna
# 6) Ahora obtenemos lo que será en el futuro la columna inicial de las
especies en porcentaje
# (sumamos 2 para tener en cuenta la columna de suma que obtenemos en
el siguiente paso)
colIniAnalisis <- ncol(p.grupos)+ncol(p.pesos.ord)+2
# 6) Ahora ya es posible juntar todo para tener la tabla final (
p <- cbind(p.grupos,p.pesos.ord,totalPesoMarea,p.porcs)
#La variable numero especies indica el número de especies a usar en el
análisis.
# Como las especies están ordenadas, cuando decidamos quedarnos con las
X primeras especies
# simplemente establecemos numeroEspecies<-X
numeroEspecies<-110
columnaCorte<-colIniAnalisis+numeroEspecies
#En lugar de estar siempre cambiando varios parámetros, centralizamos el
rango de columnas para CLARA
# en esta variable
rangoAnalisis<-c(colIniAnalisis:columnaCorte) <<<-
Muchas gracias por vuestra ayuda
El 03/12/13 14:17, Isidro Hidalgo escribió:
Chico, me quedo a cuadros. Algún fiera de por aquà te dirá por qué, pero yo a bote pronto no tengo ni idea... Si nos puedes poner el código con el que se originan ese par de variables quizá podamos ver algo... Un saludo Isidro Hidalgo Arellano Observatorio Regional de Empleo D.G. de Desarrollo de Estrategia Económica y Asuntos Europeos Avenida de Irlanda, 14 Tlf.: 925 28 80 98 ihidalgo en jccm.es ConsejerÃa de Empleo y EconomÃa http://www.jccm.es
-----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- project.org] En nombre de Jorge Tornero - Listas Enviado el: martes, 03 de diciembre de 2013 14:09 Para: Carlos J. Gil Bellosta CC: r-help-es Asunto: Re: [R-es] seleccionar columnas de un dataframe mediante variables Hola a todos: Rediela!! Si hago la prueba con rangoAnalisis<-c(110:120) Funciona!!! Pero como os comenté antes, no. Ojo!!! La idea es que tanto columnaInicial como columnaFinal son números(Ãndices) de columna!!! De hecho, haciendo el str() de estas variables me indica que son del tipo num Un saludo El 03/12/13 13:41, Carlos J. Gil Bellosta escribió:
Hola, ¿qué tal? ¿Qué son columnaInicial y columnaFinal? ¿Números? En tal caso,
deberÃa
funcionar lo que haces. Si no, tienes que convertirlos a números: col.ini.num <- which(colnames(datos.original) == columnaInicial) col.fin.num <- which(colnames(datos.original) == columnaFinal) Y entonces sà que puedes crear el rango col.ini.num:col.fin.num. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 3 de diciembre de 2013 13:30, Jorge Tornero - Listas <jtorlistas en gmail.com> escribió:
Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a
un proyecto en el que ando involucrado.
Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He
intentado lo siguiente:
rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Cuando haces... colIniAnalisis <- ncol(p.grupos)+ncol(p.pesos.ord)+2 ...sumas 2 al número de columnas de los dataframes pierdes el tipo "integer" y conviertes "colIniAnalisis" a coma flotante. Cuando construyes el rango ya no tienes enteros y no funciona. En teorÃa deberÃa, pero no lo hace. Quizá alguien te pueda explicar por qué no funciona... Prueba con rangoAnalisis<-as.integer(colIniAnalisis:columnaCorte). ¿Ahora sÃ? Un saludo P.D.:
a=3 b=9 a:b
[1] 3 4 5 6 7 8 9
str(a:b)
int [1:7] 3 4 5 6 7 8 9
str(a:b + 2)
num [1:7] 5 6 7 8 9 10 11 Isidro Hidalgo Arellano Observatorio Regional de Empleo ConsejerÃa de Empleo y EconomÃa http://www.jccm.es
-----Mensaje original-----
De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-
project.org] En nombre de Jorge Tornero - Listas
Enviado el: martes, 03 de diciembre de 2013 14:18
Para: r-help-es en r-project.org
Asunto: Re: [R-es] seleccionar columnas de un dataframe mediante
variables
Pues este es el culpable... como soy nuevo en esto, disculpad si las
estrategias de creación de datframes, etc. son poco ortodoxas. Y por
cierto... esto del slicing con R es un poco... duro
library(RPostgreSQL)
library(reshape)
#CARGA DE DATOS
conn<-dbConnect("PostgreSQL",dbname="OFIDAT",user="antares")
#consulta<-dbSendQuery(conn,"select
codigo_buque,coalesce(fecha_desembarque,fecha_regreso)::date
# as fecha,al3_code,peso::numeric from DPCERCO
where peso>0;")
# PESOS y MAREAS
consulta<-dbSendQuery(conn,"select
idmarea,
codigo_buque,
al3_code,
peso
FROM
DPCERCO
where
peso>0 order by idmarea,codigo_buque;")
dpcerco<-fetch(consulta,-1)
#Con porcentajes e idmarea
p.ini<-cast(dpcerco, idmarea+codigo_buque ~ al3_code,sum)
#Ahora vamos a modificar p.ini para dejarla con las columnas ordenadas
según importancia en peso #Primero dividimos p.ini en campos genericos
(barco y fecha) y campos con valores (especies) p.grupos<-p.ini[1:2]
p.pesos<-p.ini[-(1:2)]
#Definimos criterio de ordenacion (es un vector con las suma total por
especie)
criterio <- apply(p.pesos, 2, sum, na.rm=TRUE)
#Aplicamos el criterio de ordenación
p.pesos.ord<-p.pesos[,order(-criterio)] #Simbolo negativo para ordenar
de mayor a menor
#CREACION DE TABLA CON PORCENTAJOS
# 1) Cogemos los nombres de las columnas originales:
nombresColumna <- colnames(p.pesos.ord)
# 2) Le añadimos a cada nombre el sufijo _peso para evitar duplicados
en nombre de columna ; nuevosNombresColumna <-
paste(nombresColumna,'_peso')
# 3) Obtenemos las sumas por fila de los pesos por marea:
totalPesoMarea <- rowSums(p.pesos.ord)
# 4) Creamos un dataframe nuevo con los porcentajes de las columnas que
corresponda, que # conservará los nombres de columna correctos (alpha3
sin alterar) p.porcs <- p.pesos.ord/totalPesoMarea
# 5) Cambiamos los nombres de columna del dataframe de pesos por los
nuevos
colnames(p.pesos.ord) <- nuevosNombresColumna
# 6) Ahora obtenemos lo que será en el futuro la columna inicial de las
especies en porcentaje
# (sumamos 2 para tener en cuenta la columna de suma que obtenemos
en
el siguiente paso)
colIniAnalisis <- ncol(p.grupos)+ncol(p.pesos.ord)+2
# 6) Ahora ya es posible juntar todo para tener la tabla final (
p <- cbind(p.grupos,p.pesos.ord,totalPesoMarea,p.porcs)
#La variable numero especies indica el número de especies a usar en el
análisis.
# Como las especies están ordenadas, cuando decidamos quedarnos con las
X primeras especies # simplemente establecemos numeroEspecies<-X
numeroEspecies<-110 columnaCorte<-colIniAnalisis+numeroEspecies
#En lugar de estar siempre cambiando varios parámetros, centralizamos
el rango de columnas para CLARA # en esta variable
rangoAnalisis<-c(colIniAnalisis:columnaCorte) <<<-
Muchas gracias por vuestra ayuda
El 03/12/13 14:17, Isidro Hidalgo escribió:
Chico, me quedo a cuadros. Algún fiera de por aquà te dirá por qué,
pero yo
a bote pronto no tengo ni idea... Si nos puedes poner el código con
el que
se originan ese par de variables quizá podamos ver algo... Un saludo Isidro Hidalgo Arellano Observatorio Regional de Empleo D.G. de Desarrollo de Estrategia Económica y Asuntos Europeos Avenida de Irlanda, 14 Tlf.: 925 28 80 98 ihidalgo en jccm.es ConsejerÃa de Empleo y EconomÃa http://www.jccm.es
-----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- project.org] En nombre de Jorge Tornero - Listas Enviado el: martes, 03 de diciembre de 2013 14:09 Para: Carlos J. Gil Bellosta CC: r-help-es Asunto: Re: [R-es] seleccionar columnas de un dataframe mediante variables Hola a todos: Rediela!! Si hago la prueba con rangoAnalisis<-c(110:120) Funciona!!! Pero como os comenté antes, no. Ojo!!! La idea es que tanto columnaInicial como columnaFinal son números(Ãndices) de columna!!! De hecho, haciendo el str() de estas variables me indica que son del tipo num Un saludo El 03/12/13 13:41, Carlos J. Gil Bellosta escribió:
Hola, ¿qué tal? ¿Qué son columnaInicial y columnaFinal? ¿Números? En tal caso,
deberÃa
funcionar lo que haces. Si no, tienes que convertirlos a números: col.ini.num <- which(colnames(datos.original) == columnaInicial) col.fin.num <- which(colnames(datos.original) == columnaFinal) Y entonces sà que puedes crear el rango col.ini.num:col.fin.num. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 3 de diciembre de 2013 13:30, Jorge Tornero - Listas <jtorlistas en gmail.com> escribió:
Buenos dÃas a todos: Para empezar, y como este es mi primer mensaje a la lista, me presentaré. Mi nombre es Jorge Tornero y trabajo en el Instituto Español de OceanografÃa como Ayudante de Investigación. No soy usuario habitual de R pero estoy tomando contacto con él de cara a
un proyecto en el que ando involucrado.
Mi consulta es: Me interesarÃa poder seleccionar columnas de un dataframe, pero empleando dos variables como inicio del intervalo y fin. He
intentado lo siguiente:
rangoAnalisis<-c(columnaInicial:columnaFinal) y luego datos<-datos.original[,rangoAnalisis] Con sus variantes de paréntesis, etc... sin resultado ¿Alguna idea? Muchas gracias y un saludo Jorge Tornero
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
No puede ser lo de la coma flotante. P.e., la expresión siguiente "funciona": iris[2.1:4.5,] Lo más probable es que el rango de selección exceda el de las columnas por algún motivo, como en
iris[,6:7]
Error in `[.data.frame`(iris, , 6:7) : undefined columns selected Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com