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.

Vectores en R

de María Guerra -

Hola qué tal,soy estudiante y apenas empezamos a ver el lenguaje R.

Mi profesor me dejó desarrollar un algoritmo para la siguiente problemática: Dado el siguiente vector [1,5,3,2,2,2,0]

Crear una función que etiquete a los que tengan la misma intensidad

[1,2,3,4,4,4,5]

Y otro vector que te indique el tamaño del vector original

[1,1,1,3,1]

Hasta el momento llevo este código que me logra realizar el etiquetado pero me falta el vector que me dé el tamaño

Funcion<-function(vector){

con=1

a=array()

b=array()

foro(i in 1:(length(vector)-1) )

if (vector[i]!=vector [i+1]){

a[i]=con

con=con+1}

else {

a[i]=con

con=con


}}

if((i+1)==length (vector)){

a[i+1]=con}

print(a)

}

El resultado que me da es 1234445

Me gustaría saber si alguien me pudiera ayudar con la continuación de mi algoritmo.Mil gracias

Vectores en R

de María Guerra -

Hola qué tal,soy estudiante universitaria, y apenas empezamos a ver el lenguaje R.

Mi profesor me dejó desarrollar un algoritmo para la siguiente problemática: Dado el siguiente vector [1,5,3,2,2,2,0]

Crear una función que etiquete a los que tengan la misma intensidad

[1,2,3,4,4,4,5]

Y otro vector que te indique el tamaño del vector original

[1,1,1,3,1]

Hasta el momento llevo este código que me logra realizar el etiquetado pero me falta el vector que me dé el tamaño

Funcion<-function(vector){

con=1

a=array()

b=array()

foro(i in 1:(length(vector)-1) )

if (vector[i]!=vector [i+1]){

a[i]=con

con=con+1}

else {

a[i]=con

con=con


}}

if((i+1)==length (vector)){

a[i+1]=con}

print(a)

}

El resultado que me da es 1234445

Formularios con R

de Cristian Sejas -

Hola!

Resulta que estoy empezando a programar con R y necesito hacer un formulario con el cual pueda loguear un user y meter un password, y que luego esto me de acceso a lo que venga despues.

Hay una funcion ideal para eso o es mejor hacerlo en HTML en el Rmarkdown? 

Gracias desde ya :) 

Diferencia entre corchetes y parentésis

de Leandro Salerno -

Buenas tardes. Les hago la siguiente consulta, supongamos que tengo un objeto llamado x, el cual contiene un vector con 11 números (del 0 al 10). Que diferencia habría de hacer lo siguiente

sum(x[x<5])

sum(x*(x<5))

En el primer caso debería de sumar todos los valores inferiores al 5 e imprimirlos por pantalla.

Y en el segundo caso no debería de multiplicar todos los valores de x que se encuentren entre el 0 y el 10, para luego imprimirlos por pantalla??

Gracias!!

Muestreo Aleatorio Estratificado

de Paul Torres Fernández -

¿Alguien me puede explicar, por favor por qué RStudio me devuelve el mensaje de error siguiente al utilizar el paquete survey:

Error in strata(dfDOPI2018, c(IdProv), size = Nhp, method = "srswor") : 
  the names of the strata are wrong
, si en la instrucción:

> ESTP2 <- strata(dfDOPI2018, c("IdProv"), size = c(37,22,46,14,26,40,21,28,23,42,46,99,80,82,56), method = "srswor")
los tamaños de los estratos (calculados como el 10% del tamaño de cada uno) es menor que la cantidad de registros correspondientes a sus estratos (contenidos en dfDOPI2018$id_esc_nac)?... Gracias de antemano.

NOTA: Estoy tratando de seguir el script propuesto en: https://www.youtube.com/watch?v=czzZ7s62kFE por EUNISE CAMPIRÁN.

Modelos Mixtos - facores aleatorios, ajuste e interpretacion

de mario garrido escudero -

Buenos dias,

Tengo algunas dudas conceptuales sobre la comprensión del significado de algunos factores aleatorios.

En pocas palabras, estoy analizando la dinámica de infección bacteriana en individuos de 3 especies diferentes de hospedadores. Estoy tratando de ajustar mis datos a un modelo lineal generalizado con medidas repetidas. Mis datos consisten en la cantidad de colonias bacterianas (Myc.qPCR) en diferentes momentos del ciclo (day) en la sangre de los 33 hospedadores individuales (exp.ID), que pertenecen a 3 especies diferentes (sp). En el momento cero, todos los valores son 0 porque los individuos todavía no estaban infectados.

Quiero comprobar si son diferentes las dinámicas en las tres especies, por ello inclui en el modelo day*sp como factor fijo

Estoy tratando de ajustar el efecto aleatorio pero tengo algunos problemas con la interpretación. ¿Alguna recomendación de lectura para ecologos que no somos expertos en estadísticas para comprender el significado ecológico de los efectos aleatorios?

Estoy seguro de que quiero controlar la variación a nivel individual, por lo que se necesita exp.ID, también quiero forzar que la intersección sea cero (ya que la cantidad de bacterias en el día cero es cero), y también me pregunto Si tengo que anidar los individuos dentro de un día.
Así, mi modelo sería 

lme(lg(Myc.qPCR)~day*sp,random=?,method="ML")

Y tengo dudas sobre cómo definir mi efecto aleatorio, porque, de hecho, no sé cuál es el significado exacto de ellos bajo lme4. Entiendo que como tengo un modelo de efectos mixtos con pseudo-replicación temporal, debería usar día en el factor aleatorio, pero ¿cómo incluir esa intercepción es cero?
 estas son mis opciones

(1|exp.ID)
(day|exp.ID)  
(0+day|exp.ID) 
+(1|exp.ID)+(0+day|exp.ID) 

Gracias

VALORES NA EN R

de Ervin Yesid Redondo -

Muy buenos días o noches. 

¿Se pueden reemplazar valores NA que se encuentran en un atributo cualitativo?. ¿Cómo se hace?. He estado leyendo y buscando pero solo aparece este proceso para variables cuantitativas.

¿Si se podrá?. Les agradezco, gracias!.

Posdata: Estoy trabajando con un DATASET

No carga la library(Hmisc)

de Marcela Reyes -

Hola buen dia: estoy haciendo mis primeros pasos en R, necesito utilizar la funcion describe del paquete que tengo instalado Hmisc y no hay manera.  He desisntalado y vuelto a instalar y me continua saliendo este error que copio:   Error: package or namespace load failed for ‘Hmisc’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):

 there is no package called ‘digest’

Alguien me puede orientar?


Sustitución de NaN e Inf

de Liliana Muñoz -

Hola! recién estoy aprendiendo a utilizar R, estoy haciendo un código en el cual agrego dos columnas a mi dataframe con operadores aritméticos, cuando extraigo esas columnas en una tabla el resultado de esas divisiones me da como resultado en algunos casos NaN o Inf, por lo cual quiero reemplazarlos. He intentado con avst18[is.na(avst18)]<-0, pero eso es para datos faltantes y en este caso la división tiene los siguientes casos 0/0 (Tanto el target como el avance están en cero) o X/0 (target tiene un monto y pautado está en 0); mi intenciónes que ne el avance tenga un cero. He intentado con is.nan e is.infinite pero me sale este error.  Error in is.nan(avst18): default method not implemented for type 'list' calls: <Anonymous> ... withVisible -> eval ->eval->[<-->[<-.data.frame

Podrían, por favor, apoyarme con esto, debe ser algo muy básico pero nunca fui buena programando y recién estoy aprendiendo en R. Mil gracias.

P.D.: Estoy utilizando la paquetería Dplyr

Rectas de regresión consecutivas

de María Jesús Pacheco Orellana -

Buenas tardes,

Estoy trabajando con un data frame que tiene 31 columnas o variables y necesito obtener los coeficientes de las rectas de regresión (ordenada en el origen y pendiente) de cada una de las ecuaciones que forme considerando cada una de las columnas como variable dependiente y del resto de columnas como independientes.

Dicho de otra forma, tengo que hacer rectas de regresión donde la C1 (Columna 1) sea la variable dependiente y la C2 independiente, otra recta con C1 como dependiente y C3 como independiente y así sucesivamente hasta la C31. Este mismo procedimiento tengo que repetirlo con la C2, C3, C4 etc. siendo estas las variables dependientes y el resto de columnas las independientes.

¿Hay alguna forma de hacer este procedimiento algo más automático que ir escribiendo manualmente cada una de las rectas?

Por favor y gracias.

Saludos,

MJ