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 con directorio al descargar paquete.

de Yurena Hernández -

Hola, cuando instalo el paquete "ncdf" me da el siguiente error:

The downloaded source packages are in
    ‘/tmp/RtmpJTk9NL/downloaded_packages’

Entonces, cuando cargo la librería, hago:  library(ncdf)

Y me da el siguiente error:

Error en library(ncdf) : there is no package called ‘ncdf’

 

Alguien sabe cómo puedo solucionarlo?.

P.D.: Trabajo con Ubuntu 14.04 y R-Studio.

Agregar/Anexar/Importar... una foto a un gráfico de R

de David Elías -

Buen día a todos.

Necesito ingresar una foto... Una imagen... a un gráfico de R.
La imagen puedo convertirla a cualquier formato que haga falta.

Lo que he encontrado por internet hace referencia a librerías y funciones que ya no están en R... como son:
library(rimage)
library(EBImage)

Alguien tiene otra idea?

Nos vemos!
David Elías

2 tramos de 1 matriz.

de Yurena Hernández -

Hola, buenas tardes.
Estoy intentando dibujar un mapa utilizando un archivo netcdf                                                   (DESCARGA:http://www.esrl.noaa.gov/psd/repository/entry/show/PSD+Climate+Data+Repository/Public/PSD+Datasets/PSD+Gridded+Datasets/COBE/sst.mon.ltm.1981-2010.nc?entryid=synth%3Ae570c8f9-ec09-4e89-93b4-babd5651e7a9%3AL0NPQkUvc3N0Lm1vbi5sdG0uMTk4MS0yMDEwLm5j   )

El problema es que necesito tomar 2 tramos de una matriz. Explico: la variable longitud va desde 0 a 360. Bien pues necesito tomar los valores desde 250 a 40 y NO al revés, ya que sólo debo representar el Atlántico.

Dejo la síntasis que estoy utilizando pero que NO da resultado.:
library(raster)
variable <- raster("sst.mon.ltm.1981-2010.nc", varname="sst")
plot(variable, xlim=c(c(250,360),c(0,40)), ylim=c(-90,90))

Gracias por la ayuda y disculpad el rollo.

 


 

R: htmlParse

de M S -

Estimados colegas,

Soy nuevo en uso de R. Requiero por ello amablemente de su ayuda. Estoy realizando una captación de datos de una página web html de comentarios turísticos relativos a 10 hoteles. El código que parcialmente empleo es el siguiente:

(...)

for (i in seq_len(10)){

txt <- getURL(url=baseURL[i], followlocation = TRUE, encoding="UTF-8")
# parse html
text <- htmlParse(txt, asText=TRUE)

t1 <- xpathApply(text, "//span[@class='hotel_name']")
t2 <- xpathApply(text, "//ul[@class='guest_list']")
t3 <- xpathApply(text, "//div[@class='review']")

o1 <- sapply(t1, function(x)unname(xmlSApply(x, xmlValue)))
o2 <- sapply(t2, function(x)unname(xmlSApply(x, xmlValue)))
o3 <- sapply(t3, function(x)unname(xmlSApply(x, xmlValue)))

ot.t <- cbind(o1,o2,o3)

(...)

}

El problema surge porque dentro de la etiqueta //div[@class='review'] existen dos subapartados:

-comentarios positivos (<p class="pos">).

-comentarios negativos (<p class="neg">).

código fuente aclaratorio: 

<div class="review">
<p class="pos">La amabilidad</p><p class="neg">La bañera</p>
</div>

Le señalo además que cuando no hay comentarios positivos o negativos el código fuente html no muestra <p class="pos"> o <p class="neg">. Ahí está la clave del problema. El huésped no siempre deja mensajes positivos o negativos, de tal modo que cuando ejecuto la programación que barre el código html, me desordena los comentarios realizados entre huéspedes. Es decir, si el huésped 2 no realiza comentarios negativos y el huésped 3 sí, los comentarios negativos del huésped 3 los asigna al huésped 2.

En suma, necesitaría que me orientase para que en caso de ausencia de comentarios positivos o negativos asignara un valor (NA) al huésped 2 en cada tipo de comentario (positivo o negativo) ausente. 

Espero su amable respuesta,

Manuel

Dudas con R y packages

de Nicolás nenbaste -

Estimad@s,

La verdad que soy nuevo con en R, y antes de introducirme en extenso en el tema de la programación con R, queria aclarar alguna de sus potenciales (y así saber si me es útil en lo que necesito).

Necesito hacer una regresión de efectos mixto (jerarquizados y cruzados), a traves de inferencia bayesiana.

Me han hablado mucho de los packages; lme4 (para efectos mixtos) y rstan (para inferencia bayesiana). ¿Es posible mezclar estos packages para resolver el problema?, ¿Existe alguna guia al respecto de la modelación en estos casos?.

Cualquier información al respecto me sería útil, y gracias de antemano,

Saludos.

 

ERROR: solamente 0's pueden ser mezclados con subscritos negativos

de Yurena Hernández -

Hola, estoy intentando dibujar la temperatura superficial pero suando voy a crear las matrices me da el siguiente error:

solamente 0's pueden ser mezclados con subscritos negativos

alguien sabe por qué me pasa?.

Gracias de ante mano.

 

Aquí dejo el script, el error es en el 5º paso:

# Dibujar el mapa de la matriz de viento del Atlántico con contorno de costa (o máscara de tierra) y
# pasarlo a formato tiff. Para ello tienes los archivo "sst.mnmean.nc" y "lsmask.nc":
-------------------------------------------------------------------------------------------------------------
# Pasos previos que siempre debo especificar:
rm(list=ls())            # limpiar/borrar todo lo que se haya guardado previamente de otros trabajos.
library(ncdf)            # cargar las librerías/paquetes que vaya a necesitar para elaborar el ejercicio.

setwd("~/Ejercicio 04")      # especificar el directorio de trabajo.

# 1º) Abrir el archivo .nc donde se encuentran los datos tomados. En este caso los datos son de temperatura superficial (sst).
A=open.ncdf("sst.mnmean.nc")         
BM=open.ncdf("lsmask.nc")


# 2º) Leer las variables con las que vamos a trabajar:
lat=get.var.ncdf(A,"lat")
lon=get.var.ncdf(A,"lon")
tt=get.var.ncdf(A,"time")
sst=get.var.ncdf(A,"sst")
lat.mask=get.var.ncdf(BM,"lat")
lon.mask=get.var.ncdf(BM,"lon")
tt.mask=get.var.ncdf(BM,"time")
mask=get.var.ncdf(BM,"mask")


#3º) Sustituir los valores perdidos:
sst[sst==32757] <- NA
mask[mask==32757] <- NA

# 5º) Crear una matriz (serie temporal):
sst=sst[lon,lat,1]   # sólo tomo los datos de lon y lat.
mask=mask[lon.mask,lat.mask] # aquí NO pongo el 1 porque la matriz "mask" sólo tiene 2 dimensiones.

Dudas básicas R

de Yurena Hernández -

Hola chic@s, tengo unas dudas muy básicas con R:

Estoy aprendiendo a trabajar con archivos netCDF, por lo que me descargo ejemplos de la red. En uno de ellos me encuentro con las siguientes dudas:

A)    temp.nc$dim$lon$vals -> long
qué es lo que estoy haciendo exactamente?

B)    temp11 = temp [,, 1,1]
cuál es el significado de los "1" que están entre corchetes?


Aquí os dejo todo el scrip (pena que no pueda subir tb el achivo ncdf, aunque está en la red):
library(ncdf)
temp.nc <- open.ncdf("air.1999.nc") # abre archivo con los datos
temp <- get.var.ncdf(temp.nc,"air")   # lee los datos de la variable "air" y los guarda en "temp"
temp[temp==1e+30] <- NA   # sustituye los valores perdidos, que en este caso son los que valen 1e+30 por la palabra NA

temp.nc$dim$lon$vals -> lon   # DUDA: NO ENTIENDO !!!
temp.nc$dim$lat$vals -> lat
temp.nc$dim$level$vals -> lev
temp.nc$dim$time$vals -> time


lat <- rev(lat)  

temp <- temp[, ncol(temp):1, , ]

lon=lon-180    # para la longitud de 360º a 180º.

temp11=temp[,,1,1]   # DUDA: NO ENTIENDO !!!


image(lon,lat,temp11)
library(maptools)  # para usar el contorno de costa (wrld_simpl)
data(wrld_simpl)
plot(wrld_simpl, add = TRUE)

Problema de importación en R-Commander

de Carles Cugat -

Hola a todos, 

Cuando deseo importar datos, sean del tipo que sean no funciona. Me abré la primera ventana para seleccionar el formato y posteriormente al clicar acceptar se cierra sin ofrecerme la opción de cargar el archivo. 

En el R aparece esto: 

Error in structure(.External(.C_dotTclObjv, objv), class = "tclObj") :
[tcl] unmatched open brace in list.

Lo tengo instalado en un MacBook Pro OS X Yosemite como sistema operativo. Para instalar-lo he seguido los pasos de este vídeo: https://www.youtube.com/watch?v=ICGkG7Gg6j0

Lo necesito para acabar un trabajo de la Universidad que tengo de entregar este miércoles. Asi que el tiempo me apremia un poco bastante...

Gracias compañeros. 

trabajo R y LaTeX

de cristina lucas -

hola, soy usuaria de R desde hace solamente 3 meses y estoy haciendo un trabajo y me gustaria poder comentar y realizarlo en LaTeX porque me gusta mas el formato que el que me ofrece word, pero no se si es posible realizarlo con este programa, me podriais decir como hacerlo???