Foro de discusión y soporte para usuarios de R

Un foro abierto a todos los temas relacionados con R que quiera.
Nota: Una url estable a este foro es https://knuth.uca.es/R-foro.

Iteración while en R

de Silvia Guerra -

Hola, la verdad es que tengo una sentencia que recorre un vector y va eliminando todas aquellas filas que solo tienen 0. Lo tengo programado con un For:

for (j in 1:m.tab)

{
      filaux<-tab[j,3:(n.tab-2)] (datos que queremos comprobar)
      S<-sum(filaux)                 (comprobamos si es un vector de ceros)
      if (S==0)
      {
             res<-eliminar_fila (tab, j) (elimina la fila que esta
llena de 0)
             tab<-res                           (pasa a ser la tabla que nos 
interesa)
      }
}

El problema es que como voy eliminando las filas en la tabla tab, llega un momento que el vector sale de rango.

Para ir bien tendria que hacer algo como un while que se utiliza en java pero no se como se hace eso en Rgui. ¿Alguien podria ayudarme?

Muchas Grácias!!

Filtrar según criterios que tenga un vector

de Franz Jimeno -
Hola,

estoy intentando generar varias gráficas a partir de unos datos y con diferentes filtros que he creado de la siguiente manera:

#-----SNIP------SNIP-----SNIP------

Filtro <- Datos[Var1==1,]
generarGráfico(Filtro)
Filtro <- Datos[Var1==2 & Var2==3,]
generarGráfico(Filtro)
Filtro <- Datos[Var3!="Hombre"]
generarGráfico(Filtro)

#-----SNIP------SNIP-----SNIP------

Se me ha ocurrido realizar una iteración y almacenar los criterios del filtro en una lista, pero no sé cómo se puede hacer esto.

Debería ser algo así:

Filtros[1] <- "Var1==1"
Filtros[2] <- "Var1==2 & Var2==3"
Filtros[3] <- 'Var3!="Hombre"'

for filtro in Filtros {
  Datos.Filtro <- Datos[filtro,] #creo que hay que poner algo delante de "filtro"
  generaGráfico(Datos.Filtro)
}


Gracias de antemano

Franz

graficas boxplot

de noelia otero -
hola!!
estoy con graficas de cajas en R, y mi pregunta es, la siguiente, si tengo una matriz de tres columnas por ejemplo(de archivos importados), por defecto cada columna toma V1,V2,y V3, y cuando hago el bxplot, en cada caja me aparecen por defecto V1,V2,y V3, como puedo hacer para nombrar cada caja(es decir cada columna) con el nombre que yo quiera??
muchas gracias
un saludo

¿Con qué tamaño de muestra puede trabajar R?

de Juani López -
Hola,
Necesito hacer un análisis ANOVA sobre una muestra, unas diez variables dependientes y más de mil medidas repetidas de cada una de ellas.
SPSS sólo permite introducir 99 medidas: ¿es posible hacer eśto en R?
Gracias

Generación de números aleatorios

de Laura Martinelli -
Buenas a todos!
Mi consulta es cómo puedo generar números aleatorios pero sin usar las funciones rnorm, runif, etc, ya que no quiero que los datos sigan una distribución determinada sino que sean totalmente al azar. Es que mi profesor me pidió que además de generar distribuciones de los tipos mencionados genere una distribución random.
Bueno, espero que me puedan ayudar, ya me falta poquito para terminar mi trabajo y les debo mucho a todos ustedes.
Gracias!

Funciones en 3D y números máquina

de Ignacio Bocos -
Hola a todos!

Me llamo Nacho y ahora mismo me encuentro realizando mi proyecto fin de carrera en R.

Me han surgido unas dudas y espero que me podáis ayudar.

La primera de ellas tiene que ver con la forma de realizar plots en 3d. Por ejemplo, cómo se podría pintar cualquier función exponencial en 3d. Lo he hecho en 2d con un plot pero para 3d me está dando bastantes problemas...

La segunda duda que tengo es sobre el tratamiento de los números pequeños que hace R ya que me podría generar dificultades (tengo hecho un estudio matemático utilizando números máquina pero claro, está hecho de forma abstracta) ya que tengo que hacer divisiones por ellos...

Muchas gracias de antemano.

Métodos de categorización

de Amparo Nagore -

Buenas,

Estoy empezando a programar en R y necesito categorizar una variable continua, tenemos que encontrar el punto de corte óptimo que divide a la población en dos grupos homogéneos.

He estado viendo que en SPSS existen determinados algoritmos como MDLP para categorizar. En R ¿existe creado algún algoritmo que haga algo equivalente? ¿Cuál es?

Muchas gracias

un saludo

Amparo

Diferencias en el cálculo de la correlación

de Antonio Matas -
He comprobado que al calcular la correlación obtengo diferentes resultados, si pido la correlación por pares o en conjunto. La salida que obtengo es la siguiente:
> datos<-read.table("/home/amatas/Escritorio/data_4.txt", header=TRUE, sep="\t", na.strings="*")
> correlacion<-cor(datos[,c("c28","c29","c30","c31","c32","c59","c65c66","c69","c70c71","c72","c89","c136c137","c138c139","c164","c165c166","c168","c169","c172c173","c174c175")], use="complete.obs", method="spearman")
> correlacion


c28 c29 c30 c31 c32
c28 1.00000000 0.171796709 0.20252303 0.1358170688 -0.117269347
c29 0.17179671 1.000000000 0.56070920 0.6337493091 -0.175399575
c30 0.20252303 0.560709197 1.00000000 0.5315687924 -0.194526665
c31 0.13581707 0.633749309 0.53156879 1.0000000000 -0.362006533
c32 -0.11726935 -0.175399575 -0.19452666 -0.3620065327 1.000000000
c59 0.20125493 0.096717193 0.02292325 0.0818812736 0.006603201
c65c66 0.07464166 0.383621052 0.25605995 0.5029369492 -0.197365043
c69 0.06575747 0.285013289 0.25617919 0.4160725134 -0.387891505
c70c71 0.02714106 0.410238934 0.30476814 0.5901648346 -0.347701905
c72 -0.01496374 -0.366280988 -0.30089008 -0.5416534498 0.403228869
c89 0.07012262 0.428234082 0.34234553 0.6347488819 -0.498028210
c136c137 0.05872029 0.305877608 0.19302757 0.3921505664 -0.201908471
c138c139 0.11566183 0.325962972 0.28907505 0.5186044931 -0.533966744
c164 0.10078373 0.039568176 0.12034043 0.0131500187 -0.055075585
c165c166 0.02991304 -0.042905706 -0.03680569 -0.0279836244 0.014549815
c168 -0.26980813 -0.000746175 -0.10136016 -0.0007628965 0.095662935
c169 0.11520551 -0.020023377 0.02546594 -0.0198774522 -0.067036504
c172c173 0.09725841 0.351172652 0.21813916 0.4325401352 -0.182984388
c174c175 -0.09390659 -0.082521047 -0.02413950 -0.0505976252 0.002599876


> cor(datos[,c("c28","c29")],use="complete.obs",method="spearman")
c28 c29
c28 1.0000000 0.1742175
c29 0.1742175 1.0000000

> cor(datos[,c("c28","c30")],use="complete.obs",method="spearman")
c28 c30
c28 1.0000000 0.1996478
c30 0.1996478 1.0000000

> cor(datos[,c("c28","c31")],use="complete.obs",method="spearman")
c28 c31
c28 1.0000000 0.1245031
c31 0.1245031 1.0000000

> cor(datos[,c("c28","c32")],use="complete.obs",method="spearman")
c28 c32
c28 1.00000000 -0.08195158
c32 -0.08195158 1.00000000

¿sabe alguien la razón de estas diferencias? Gracias

COMO RECUPERAR UNA EXTENCION .RDATA...

de Nisa Boukichou -

Buenas a todos soy Nisa y tengo un problema con el programa R ,,,os cuento estuve trabajando unas practicas con R en clase y lo guarde con la extencion .RDATa y ahora he venido a casa y queria recuperar el trabajo realizado y que me salga el codigo que habia hecho por pantalla para copiarlo y pasarlo al word para redactar el trabajo pero no se como hacerlo ya que le he dado abrir script pero me da error,,, alguno sabe como lo puedo hacer??

bueno espero respuestas y muchisimas gracias a todos de adelantación...

ah y perdonad por las molestias ocasionadas... 

un saludo, nisa.