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.

Calcular medias agrupadas

de Frutos Bernal -

Hola a todos,

Me gustaría calcular las medias agrupadas de varias variables de un fichero.

Para calcular la media de una de ellas utilizo la instrucción:


mimedia<-function(x) mean(x, na.rm=TRUE)

aggregate(Datos_2016$polintr,by =list(Datos_2016$cntry),mimedia)

¿Existe la posibilidad de calcular la media de varias variables simultaneamente y guardarlas en un dataframe?


Gracias por adelantado


Elisa

Valores posibles de un campo

de Marc Armengou -

Hola, estoy dando mis primeros pasos con R y tengo la siguiente duda. 

Estoy trabajando con un fichero csv que entre otros campos tiene el de Ciudad en el que se repiten varias veces distintos nombres.  Cómo debería hacer para saber el total de valores posibles del campo ciudad? Una vez conocidas las ciudades que aparecen en el csv, cómo obtendría su frecuencia?


Muchas Gracias,

que distribución usar en R y como ejecutar

de Dany Robles -

Buenas tardes, soy nuevo en el lenguaje R y no se cómo realizar el siguiente ejercicio con R:

Un examen de admisión al bachillerato X será  aplicado a 180000 aspirantes con un promedio de secundaria de al menos 7,0

SUPUESTOS     

1.  30% de los aspirantes cursan la secundaria en  una escuela privada 

2.  La distribución  de los alumnos en base a su promedio de secundaria es sesgada a la derecha cuya mediana es 7,8

3.  54% de los aspirantes son mujeres


si alguien me pudiera ayudar se los agradecería. 

Escalamiento multidimensional no métrico

de sandra hervias parejo -

Enhorabuena a todos por el foro.

Intento llevar a cabo un MDS para representar la similitud que existe entre una serie de especies. Tengo variables categóricas y cuantitativas. Para que podáis entender mejor mis datos copio aquí las primeras 4 filas:

:species family origin syndrome colour shape corolla_length corolla_diameter bell_diameter cor_stig_dist stig_cor_dist stamen_length pistil_length stig_surface_diameter stig_lobe_length n_sepals n_petals n_stamens n_stig_lobes nectar_volume sugar_concentration 
Acacia rorudiana Mimosaceae endemic 2 3 4 2.14 1.33 0.73 1.87 3.37 3.9 0.45 4 4 20 1 0.1 5.8
Alternanthera echinocephala Amaranthaceae native 3 1 4 8.3 9.81 2.1 5.81 6.18 2.07 0.7 5 0 5 1 0.28 13.38
Alternanthera filifolia Amaranthaceae endemic 4 1 4 1.7 2.91 1.04 1.01 3.02 2.14 0.01 5 0 5 1 0.28 1.4
Bastardia viscosa Malvaceae native 1 3 1 4.52 9.61 1.48 4.7 5.7 6.53 0.28 5 5 40 6 0.85 15.58

Antes del MDS, he estandarizado las variables cuantitativas mediante:

mydata.scaled <- scale (mydata, center=TRUE, scale=TRUE)

Uno de los problemas que encuentro aquí es que a cada especies se le ha asignado un número. ¿Cómo puedo ahora identificar las especies? Además, me gustaría saber cómo puedo volver a incluir las variables cualitiativas. Este problema lo arrastro desde el principio.

A continuación, he utilizado la library(gower) para crear la matriz de datos, os copio aquí el script entero:
library(gower)
library(cluster)
daisy.mat <- as.matrix(daisy(mydata.scaled, metric="gower"))
library(StatMatch)
gower.mat <- gower.dist(mydata.scaled)
head(daisy.mat, 29)
head(gower.mat, 29)
identical(daisy.mat, gower.mat)

d.spp <- daisy(mydata, metric = "gower")
species_matrix <- d.spp
species_matrix

library(scatterplot3d)
library(vegan)

example_NMDS=metaMDS(species_matrix, k=2, wascores = FALSE)
example_NMDS
example_NMDS$stress

stressplot(example_NMDS)

plot(example_NMDS)

En este punto el error que obtengo es el siguiente:

Warning message:
In ordiplot(x, choices = choices, type = type, display = display,  :
  Species scores not available
Cualquier ayuda / orientación me vendría súper bien!

Gracias y un saludo,

¿Cómo sacar un objeto de una lista?

de delia arroyo -

Buenos dias a ver si me pueden ayudar.

Tengo una lista llamada mdresult que esta compuesta por 5 réplicas. A continuación muestro la réplica  5 con los distintos parámetros que hay dentro de las misma.



[[5]]

  cork  cork_est corj corj_est vst_k vst_k_est vp_k vp_k_est vst_j vst_j_est vp_j vp_j_est vt_j

1  0.5 0.5079223  0.5       NA     1  1.012587    1  1.20393     0         0    1 1.028305  0.2

  vt_j_0ij_est vt_j_1ij_est vt_j_2ij_est vt_j_3ij_est vt_j_4ij_est vt_j_5ij_est vt_j_6ij_est

1    0.1951842    0.1986061     0.201002    0.1997643    0.2013135    0.1979776    0.2001657

  vt_j_7ij_est vt_j_8ij_est

1    0.2002812    0.2019148


De cada una de las replicas quiero sacar el objeto vt_j_0ij_est, para posteriormente hacer un boxplot y ver que el parámetro obtenidoes muy similar en todas las réplicas, y esto mismo lo quiero hacer con vt_j_1ij, vt_j_02j...

Para ello he hecho lo siguiente:

B<-list()

C<-list()

for (i in 1:replicas)

  {B[[i]]<-mdresult[[i]]$vt_j_0ij_est

  C[[i]]<-mdresult[[i]]$vt_j_1ij_est

  } #cierro bucle i


B<-c(C[[1]],C[[2]],C[[3]],C[[4]],C[[5]])

C<-c(C[[1]],C[[2]],C[[3]],C[[4]],C[[5]])

boxplot(B,C,col="pink", main="Recuperación de parámetro", xlab="Diferencia entre valores reales y estimados")

Y asi lo obtengo, el problema es que tengo que definir B y C de acuerdo al número de réplicas que en este caso son 5 pero que un futuro serán mil, ¿cómo puedo hacerlo para que no tenga que definir las réplicas?

Muchas gracias

Ayuda ordenar datos

de Xavier Perafita Basart -

Buenas tardes, seguramente sera uno de las preguntas mas fáciles de responder del foro. Estoy empezando con esto de aprender a utilizar el R. Tengo la siguiente tabla:

 
nombre
altura_num
8359
Kristof Van Hout
50
9693
Idé
49
1062
Costel Pantilimon
48
1789
Lacina Traoré
48
12830
Fejsal Mulić
48
15393
Aaron Chapman
48
16839
Mikkel Qvist
48
8857
Vanja Milinković-Savić
47
9472
Stefan Maierhofer
47
17257
Demba Thiam
47
853
Fraser Forster
46
1660
Lovre Kalinić
46
2018
Peter Crouch
46
3259
Axel Sjöberg
46
6133
Simon Makienok
46
7711
Henk Veerman
46
11251
Ebere Paul Onuachu
46
11789
Alexandr Rudenko
46
12228
Konrad Jałocha
46
12398
Eirik Holmen Johansen
46
12492
Rob Jones
46
172
Asmir Begović
45
3868
Andreas Isaksson
45
12017
Abdoul Ba
45


Como tengo una ID, que me genera el mismo R Studio o que viene dado por la base de datos que estoy trabajando (no lo sé), no consigo de ninguna forma ordenar los datos en función de la altura. Alguien me puede ayudar?

Gracias de antemano!

Error due to co-locatted data

de Monserrat Stopier -

hola buen día,

Estoy tratando se generar semivariogramas en Rstudio pero aparece el siguiente error:

Error in variog(DatosGeo, breaks = c(seq(0, Lags * NIntervalos, Lags)), : NA returned in angle calculations maybe due to co-located data

Comprendo que los datos están muy cercanos o se duplican, la pregunta aquí es como aplicar las soluciones que el software me da:

 

 Consider using jitterDupCoords() for jittering replicated locations. 
WARNING: there are data at coincident or very closed locations, some of the geoR's functions may not work.
 Use function dup.coords() to locate duplicated coordinates.
 Consider using jitterDupCoords() for jittering replicated locations 
variog: computing variogram for direction = 0 degrees (0 radians)
        tolerance angle = 22.5 degrees (0.393 radians)

Soy nueva en R.

gracias!

Problema con la libreria de twitteR

de John Nope -

Buenos días.

Estoy intentendo descargar algunos Tweets sobre Agua con R y ubicarlos a un punto especifico (Que es colombia) pero la correr la consulta me aparecen tweets de gente de España USA Mexico y otros lugares que no deberían aparecer si estoy buscando solo tweets en Colombia, Estoy utilizando este codigo: 

variable1 <- searchTwitter("Agua", n="1000", geocode='4.710989 ,-74.072092,10mi')

Gracias de ante mano por su ayuda