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.

Problema en la funcion accuracy de R

de Lucas de Andres -

Cuando intento compara el pronostico de mi modelo con una serie de test con el siguiente código  accuracy(fc3train2, st2)

 

me aparece el siguiente error: Error: `estimate` is missing and must be supplied.

 

fc3train2 es una avariable que almacena los pronosticos realizados por el modelo y st2 es la variable de tipo tsibble que almacena los datos reales.

 

 

 

alguien me puede ayudar??

 

Gracias!

Test Friedman

de Gloritzel Vargas -

Buenas tardes a todos (as),

 

estoy intentando realizar este test pero me da error y erros.

 

 

Mi data posee 7 plantas, 3 tratamientos y el total de hormigas. Necesito comparar total de hormigas por tratamientos 

 

#Base de datos
mar

#cOLUMNAS FILTRADAS

hormigas <- select(data, Total_hormigas_mem) %>% unlist

tratamientos <- select(data, tratamiento) %>% unlist

 

 

friedman.test(hormigas, tratamientos)

 

> friedman.test(hormigas, tratamientos)
Error in friedman.test.default(hormigas, tratamientos) :
argument "blocks" is missing, with no default
>

 

 

lo intente con 

friedman.test(cbind(Total_hormigas_mem,tratamiento))

Error in cbind(Total_hormigas_mem, tratamiento) :
object 'Total_hormigas_mem' not found

 

 

Saludos

FACTOR EXPANSION para bases de datos de encuestas y parámetros poblacionales

de vivian cabanzo fernandez -

Hola a todos, 

 

Me encuentro con una base de datos que  presenta un  variable de factor expansión puesto que es realizada a partir de una encuesta a nivel nacional. Por lo que he visto en diferentes foros el factor expansión puede afectarme el análisis de resultados, por lo que me han recomendado dividirla en los 12 meses del año (la encuesta es anual, pero esta dividida en los meses). Por lo que me gustaría saber cómo se podría manipular la variable de factor expansión en R para que esta no me genere problema en los resultados.

 

Muchas gracias 

Como encontrar un dato que se repiten en diferente BD

de Nicolas Sanabria -

Hola a todos!

Alguno sabe como puedo encontrar un dato que se repite en dos bases de datos, es decir como ejemplo tengo los datos del mes de enero y a parte tengo los datos del mes de febrero, estos datos estan en un mismo formato y quiero saber que datos se repiten entre estas dos bases de información.

Me ayudarian, muchisimo ya que no logro econtrar la forma de hacerlo

problemas al agregar variables e interpretar regresión spline

de Cristian Mundaca -

Tengo tres dudas respecto del modelo de regresión con splines

el primero respecto de la necesidad de realizar validación previo a la selección de los grados de libertad a utilizar ¿es necesario esto o basta con definir los grados de libertad en 3 para un modelo de spline cúbico?

segundo, ¿en un modelo como el que sigue, es posible agregar más variables independientes con una distribución normal? en caso de ser posible, ¿el modelo 2 estaría correcto?



modeo.spline <- lm(Var.D ~ bs(Var.1, degree = 2, df = 10),
data = datosA.train.14)




modelo.spline <- lm(Var.D ~ bs(Var.1, degree = 2, df = 10),
data = datosA.train.14,
Var.2, Var.3, Var.4)






Respecto de la interpretación de un modelo splines. ¿esta se realiza con cada uno de los interceptos, como si fuese una regresión múltiple) o solo debo utilizar uno (esta pregunta nace debido a que a mayor grado de libertad, es mayor el numero de interceptos)

Gracias por la ayuda

Duda

de Nicolás Suárez -

Hola, estoy trabajando en una correlación y tengo un problema al momento de realizarlo, me sale el mensaje "Error in cor(dato$Bio1, dato$Bio9) : 'y' must be numeric"

cor(dato$Bio1, dato$Bio9)
cor_specie<-cor(dato,method = "pearson" )#solo numeros
cor_specie

La primera parte es la que me arroja el error.

Espero puedan ayudarme, muchas gracias de antemano.

Marcas:

Ayuda con R - Parte 2

de Oscar Viera -

 

Estoy aprendiendo a usar a R mediante unos videocursos, no se si el problema soy yo pero la verdad me mandaron a hacer unos prácticos y no entiendo nada, alguien podría explicarme como hacer esto paso a paso por favor, muchas gracias

 

En este ejercicio tomaremos los datos del acervo de obras de arte de MNAV.

Link al archivo por WeTransfer https://we.tl/t-EKYAt0UgHh


1. Cargar los datos contenidos en mnav_datos.rds y genera dos objetos llamados obras y artistias,
que contengan los datos de las obras y los artistas respectivamente. Para leer los datos debes usar la
fucnión readRDS() el resultado es una lista que tiene los datos relativos a los artistas en su primer
elemento y los datos de las obras en el segundo. Es necesario asignar cada elemento de la lista a un
nuevo objeto, llamados artistas y obras.

2. Con los datos de artistas selecciona los datos provenientes de artistas nacidos en Uruguay y las
variables: nombre del artista, su número identificador, la fecha y el lugar de nacimiento.

3. ¿Cuantos autores Uruguayos tienen obras en el acervo del MNAV? ¿Qué proporción son montevideanos?

4. Generar variable año de nacimiento para los artistas uruguayos.
• Inspecciona la variable NACE para descubrir que tipo de regularidad esta registrada la fecha de
nacimiento.
• Utiliza la función substr() para generar una variable llamada anio que tenga solo el año de
nacimiento y transforma dicha variable en numérica (puedes usar as.numeric()).
• ¿Cuantos valores faltantes hay en anio ?
• Transformar la variable en numérica, ¿genera valores faltantes nuevos?

5. Realiza un gráfico para investigar posibles patrones en los años de nacimientos de los autores uruguayos con obras en el acervo de MNAV. Describe el gráfico y el mensaje principal que encuentres.

6. ¿Cuantas obras hay en el acervo de MNAV que tengan la palabra Retrato en su título? (puede estar escrita con letras mayúsculas o minúsculas). Para responder esto realiza los siguientes pasos:
• Crea una nueva variable en obras que indique si el título contiene la palabra Retrato. Puedes usar
la fucnión grepl(), nos interesa contar
• Corrobora que la variable está bien construída. Una manera puede ser mostrar el títuo de 5 obras al azar y verificar que efectivamente contienen la palabra.
• Calcula el total de retratos en el acervo.

 

 

Ayuda con R

de Oscar Viera -

Estoy aprendiendo a usar a R mediante unos videocursos, no se si el problema soy yo pero la verdad me mandaron a hacer unos prácticos y no entiendo nada, alguien podría explicarme como hacer esto paso a paso por favor, muchas gracias

La biblioteca de R mclust contiene un conjunto de datos llamado banknote. Los datos corresponden a
medidas físicas (ancho, longitud, etc) de 200 billetes Suizos, donde 100 de los mismos son falsificaciones y 100
son verdaderos. La variable Status es un factor que indica si el billete es real (genuine) o falso (counterfeit).

1. Cargar los datos. Instale y cargue la biblioteca mclust, luego con el comando data(banknote)
los datos quedan disponibles para trabajar. Puedes confirmar que tienes los datos haciendo
head(banknote).

2. Transforma la variable Status en un factor, con niveles “falso” y “genuino”

3. Descripción global. Utiliza alguna función para inspeccionar globalmente los datos. Comenta los
resultados: describe alguna de las características básicas y destaca si hay aspectos que te llaman la
atención.

4. Calcula una nueva variable que sea la diferencia entre Left y Right y obtiene su desvío típico
SIN utilizar la funciones var() ni sd()

5. Histogramas. Usando ggplot2 dibuja un histograma de alguna de las dimensiones físicas de los
billetes que permitan ver diferencias entre los genuinos y los falsos. Mapea la variable Status a fill
para apreciar las diferencias, utiliza los argumentos del histograma (ej: bins o binwidth) para asegurar
que no haya huecos en el medio del histograma. Para el gráfico seleccionado: (1) explica la estructura
del gráfico, ¿que tipo de gráfico es? ¿que datos se mapean a que elementos estéticos ?. (2) ¿Cual es el
mensaje principal del gráfico?

6. Diagramas de dispersión (). Usando ggplot2 encuentra un diagrama de dispersión con dos de
las medidas numéricas de los billetes. Mapea la variable Y al color de los puntos. Asegurarte de elegir
dos variables que separen completamente los casos falsos de los genuinos. Para el gráfico seleccionado,
(1) explica la estructura del gráfico, ¿que tipo de gráfico es? ¿que datos se mapean a que elementos
estéticos ?. (2) ¿Cual es el mensaje principal del gráfico?

7. Mostrar histogramas de todas las variables en un solo gráfico. Primero debemos estructurar
los datos con reshape. En primer lugar ejecuta el siguiente código:
colnames(banknote)[2:7] <- paste0('md.', colnames(banknote)[2:7])

Luego utiliza reshape para estructurar los datos en formato long. Recuerda que las variables que varying
son las medidas físicas. Una vez que los datos están en formado long, dibuja el histograma del punto 4,
coloreando Status (como en el punto 4) y dejando paneles separados para cada medida. Es probable que
debas fijar scales='free' dentro de facet.

Filtrar datos a partir de una lista

de Enrique Sandoval -

Hola, quiero saber como puedo seleccionar datos (filas) de una base a partir de la información que tengo en una lista. Por ejemplo, tengo una base con 50000 filas y 10 variables (columnas), entonces quiero seleccionar todas aquellas filas que coincidan con una lista que tengo aparte, digamos de 250 datos. 

Por ejemplo, tengo la guía telefónica y quiero seleccionar de ella todos los contactos de mi agenda, para de esta manera tener otras infomaciones como ser dirección, nombre, etc (solo a modo de ejemplo)

Gracias

Sumar filas de acuerdo al valor de una columna manteniendo todas las columnas- Rstudio

de Nicolas Aliano -

Hola! Soy un poco nuevo en el mundo R y me esta costando realizar ciertas operaciones.

 

Tengo un dataframe con 15 columnas aproximadamente, de las cuales 7 tienen valores numericos y las restantes son variables como, nombre, edad, ID, etc. Dado que la variable DNI se repite muchas veces en todas las filas, estoy intentando sumar cada una de las variables numericas de acuerdo al ID. Es decir, si me aparece 10 veces el ID XX, mi idea es que las filas de cada una de las columnas que tienen variables numericas se sumen y el ID XX aparezca una sola vez con la suma de todas esas variables.  Ademas de esto, me gustaria que me conserve los valores de las restantes columnas que no se suman, ya que me permiten identificar cada caso. Intente utilizando la función  aggregate(Df, by=list) y si bien me suma todo, no me conserva las columnas "que no entran en la suma de las filas".

 

Basicamente seria como en el excel tener un subtotal que se calcule al filtrar por el ID.

 

Espero haber sido claro. 

 

Desde ya agradezco por adelantado.

 

Saludos

Marcas: