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.

Como crear un ciclo for para datos pareados

de Daniela Estay -

Estimados, su ayuda porfavor, necesito crear una sentencia for para un i, j, el codigo que tengo es el siguiente pero se me cae:

a=c(13,14)

b=c(528,20)

for(i in a)

{for (i in b)

C_i=datos[datos$Codigo_Producto==i,]

set.seed(100)

indx_j=sample(nrow(C_i),size=j)

M_j=C_i[indx_j,]

print(summary(M_j))}}

La idea es que el 13 del a me lo haga con el 14 del b y el 528 del a con el 20 del b.

En resumen lo que hago acá (con a) es filtrar por el código de producto que necesito, y luego la idea del b es para la obtención de muestra aleatoria del tamaño que indico.

¿Alguien me puede ayudar porfis??? Muchas gracias!

Error al recodificar variables de factor en R Commander

de Manuel Herrera-Usagre -

Hola!

Llevo unas horas intentando haberiguar por qué no me deja recodificar mis variables de factor que hace solo unos meses sí podía (!!!)

Esta es mi base de datos:

> str(ersa)

'data.frame': 1034 obs. of  29 variables:

 $ grupoedad: Factor w/ 6 levels "16 a 24","25 a 34",..: 2 4 5 6 4 6 5 6 5 6 ...

 $ habitat  : Factor w/ 6 levels "Menos de 10000",..: 6 6 1 1 4 6 4 6 6 6 ...

 $ isei     : num  70 53 NA 21 40 21 16 53 19 43 ...

 $ p0001    : Factor w/ 2 levels "Hombre","Mujer": 2 2 2 1 2 2 2 2 1 1 ...

 $ p0002    : num  29 50 58 76 45 70 60 71 56 75 ...

 $ p1003a   : num  9 5 5 4 10 5 9 5 8 5 ...

 $ p1003b   : num  10 5 6 6 10 7 9 7 9 6 ...

 $ p1004a   : num  8 5 6 5 10 7 8 7 8 5 ...

 $ p1004b   : num  9 6 6 6 10 5 7 6 7 5 ...

 $ p1004c   : num  8 0 0 NA NA NA 6 NA 8 NA ...

 $ p1004d   : num  8 5 6 6 10 6 6 7 8 5 ...

 $ p1004e   : num  8 0 7 9 10 10 7 8 10 8 ...

 $ p1004f   : num  5 0 5 5 5 0 5 3 0 0 ...

 $ p1004g   : num  6 0 5 4 8 8 8 3 0 0 ...

 $ p1004h   : num  6 0 6 4 9 7 8 6 0 2 ...

 $ p1008    : Factor w/ 4 levels "Si","No","NS",..: 2 2 2 2 1 2 2 2 2 1 ...

 $ p4001a   : Factor w/ 4 levels "Sí","No","NS",..: 1 2 2 2 2 2 2 2 2 2 ...

 $ p4001b   : Factor w/ 4 levels "Sí","No","NS",..: 1 2 2 2 2 2 2 2 2 2 ...

 $ p4001c   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 1 2 2 2 2 ...

 $ p4001d   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 1 2 2 2 2 ...

 $ p4001e   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 1 1 2 2 2 ...

 $ p4001f   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 1 2 2 2 2 ...

 $ p4001g   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 2 2 2 2 2 ...

 $ p4001h   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 2 2 2 2 2 ...

 $ p4001i   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 2 2 2 2 2 ...

 $ p4001j   : Factor w/ 4 levels "Sí","No","NS",..: 2 2 2 2 2 2 2 2 2 2 ...

 $ p5005    : Factor w/ 12 levels "Izquierda","1",..: 4 12 5 12 3 1 4 8 6 5 ...

 $ p5008    : Factor w/ 9 levels "Soltero","Casado",..: 7 2 2 2 5 2 2 1 2 2 ...

 $ p5009    : Factor w/ 13 levels "No ha realizado ningún tipo de estudios, y no sabe leer o es",..: 10 5 4 3 6 3 4 6 6 2 ...

# Esta es mi código para la recodificación de la variable p5008, por ejemplo.

ersa <- within(ersa, {

  ecivil <- Recode(p5008, '"Separado legalmente"="Soltero"; "Divorciado"="Soltero"; "Pareja de hecho"="Casado"; "Conviviendo en pareja"="Casado"; "NS"=NA; "NC"=NA', 

  as.factor.result=TRUE)

})


Tanto esta, como todas las de factor me dan "ERROR:" sin más información. Me imagino que tiene que ser una tontería pero ¿Podríais ayudarme? Gracias!


Un saludo,

Aplicar una misma función a más de una variable

de Luz Barrantes Aguilar -

Hola,

Tengo una base de datos con mil muestras de 25 datos cada una, quiero applicar la fórmula de la kurtosis a las 1000 variables a la vez, pero solo se como hacerlo para una, así escribo para obteber el valor para la primera muestra (M1):

kurtosis(x$M1, na.rm = FALSE, type = 1)

Instalación R Proyect en Centos

de Victoria Sanchez -

Hola,

Necesito instalar R en Linux para realizar un programa de cálculos monetarios rápidos, acabo de acceder a la y descargas https://cloud.r-project.org/ y entro en Linux, pero aparecen debian, redhat suse y ubuntu, pero no Centos, que es la distribución que yo tengo instalada. ¿Sabéis cual es la distribuación que tengo que instalar?


Ayuda con Rmarkdown en Rstudio

de Luis Burneos Marquez -

Hola,

estoy haciendo un documento con Rmarkdown, y tengo el problema de que las gráficas que se generan salen "cortadas" (ocurre como que salen más grandes de lo esperado y no cabe todo en pantalla)


Curiosamente si ejecuto el codigo en R en un script aparte sale bien, o sea que es alguna configuración que no sé controlar. Seguro que es una tontería pero no lo doy arreglado, y no he encontrado solución a este problema googleando


Muchas gracias, un saludo

Análisis de supervivencia en R

de Ana Luisa Hernández Martínez -
Les consulto para ver si alguien puede sacarme de un problema, sucede que estoy haciendo un script para realizar una análisis de supervivencia, en donde se realicen los cálculos de supervivencia presentados en la imagen, resulta que al hacer el script, en el tiempo 57 la estimación de supervivencia en vez de ser 1, lo calcula como 46/47= 0.98, es decir lo considera como si la muerte ocurriera para todos los casos, la función para estimar la supervivencia es como sigue: 


km1<-survfit(Surv(Tiempo,Deaths) ~ 1,data=datos, type='kaplan-meier') 


donde tiempo es 'Time in days',  no utilizo mucho R, por lo que de antemano agradezco mucho su ayuda. 

Ana.

Datos supervivencia

Paquete monitoR en R

de J Lopez -

Hola Buen Día,

Busco la manera de ejecutar los comandos corMatch, findPeaks y Plot, para analizar un conjunto de muestras automatizadas. Uso el comando batchCorMatch que realiza el corMatch en lote pero no logro encontrar cuales generan la gráfica. El manual solo muestra batchCorMatch, pero no indica como hacer los otros en lote. No logro entender a que ser refiere "output" cuando realiza el findPeaks.



Como puedo calcular el número de "NA's" que aparece en DATA FRAME?

de sandra salvador vasco -

Buenas tardes, necesito ayuda, ya que después de mucho intentos no consigo avanzar.

Alguien me puede indicar como puedo calcular el número de "NA" que me aparecen en un DATA FRAMES?

Espero que alguien me pueda ayudar.

Muchas gracias,

Sandra

Almacenar información en loops

de juliana herrera -

Buenas soy muy nueva en R y quisiera saber si me pueden ayudar con lo siguiente.

Estoy calculando unas distancias entre todos los puntos posibles de un sistema. para eso  utilizo la siguiente función.

SpatialLinesLengths((shortestPath(trCost, coord2[1,], coord2[1:3,], output="SpatialLines")),longlat=FALSE)

asi seria para las primeras coordenadas con respecto al resto de las coordenadas. pero  necesito calcular entre todos los pares posibles para lo cual pensé en realizar un  loop

for(i in 1:3){

distance<-SpatialLinesLengths((shortestPath(trCost, coord2[1:3,], coord2[1:3,], output="SpatialLines")),longlat=FALSE)

}


pero como son diferentes vectores de diferentes longitudes a la salida solo me sale 1 valor. me imagino que del ultimo calculo.

Mi pregunta es si estoy tomando una buena decisión y si es así me imagino que esto deberá ser almacenado en una lista.


Alguna idea de como puedo hacer .


Espero hacerme entender. Mil gracias!