Foro de debate

Ayuda con for e if

 
Imagen de Javier Crespo Sugrañez
Ayuda con for e if
de Javier Crespo Sugrañez - lunes, 17 de julio de 2017, 10:47
 

Buenas:

el problema que tengo es el siguiente:

tengo tabla de datos con muchos datos y R no lee mas de 1000 (creo recordar) y me sale el mensaje de que me deja de mostrar un número de datos. Por lo que estoy intentando con for crear un bucle para que consiga leer todos los datos.

El problema que tengo es que no soy capaz de decirle a R que me lea una terminada columna, a la cual le he asignado un nombre. Y esa es mi pregunta como le digo al for e if que me lean una determinada columna unicamente para generar un filtro con esos datos?

Gracias.

Imagen de Manuel Muñoz Márquez
Re: Ayuda con for e if
de Manuel Muñoz Márquez - lunes, 17 de julio de 2017, 11:39
 

Buenas:

El número máximo de elementos en un vector de R es de 2^31-1.

¿Dónde tiene los datos? ¿En qué formato?

Un saludo.

Imagen de Javier Crespo Sugrañez
Re: Ayuda con for e if
de Javier Crespo Sugrañez - lunes, 17 de julio de 2017, 11:59
 

Los datos los tengo en un archivo .txt con forma de tabla porque R me lo lee como tal pero una vez los cargo con read.table me sale: omitted 2184 rows. Pero lo que yo quiero hacer es filtrar una de las columnas con unas restricciones de valores. por ejemplo entre 20 y 50

Imagen de Manuel Muñoz Márquez
Re: Ayuda con for e if
de Manuel Muñoz Márquez - martes, 18 de julio de 2017, 10:22
 

Buenas:

Probablemente es debido a que el formato de las filas es irregular o a que los parámetros de lectura no se corresponden con el formato del fichero. Sin tener el fichero no es posible ayudar más.

Un saludo.

Imagen de Manuel Muñoz Márquez
Re: Ayuda con for e if
de Manuel Muñoz Márquez - martes, 18 de julio de 2017, 13:22
 

Buenas:

El fichero que me has enviado no tiene cabecera y el valor por defecto para la instrucción read.table es que sí la tengan. La instrucción:

read.table('prueba.csv', header=F)

Me devuelve un conjunto de datos con 2212 filas y 35 columnas.

Los for en R son muy poco eficientes. Es preferible usarlos únicamente cuando sean necesarios. Por ejemplo, para construir una nueva columna que me diga si un valor es superior o igual a 2300, es suficiente con hacer

Datos$test <- Datos[7] > 300

Cada fila tendrá el valor TRUE o FALSE dependiendo de si se cumple la condición o no.

Te recomiendo leas algún texto básico de introducción a R.

Un saludo.