[R-es] Cargar data frame en app shiny

2020-11-23 Por tema Rubén Coca
-- Forwarded message -
De: Ruben Coca 
Date: lun., 23 nov. 2020 14:59
Subject: RV: Cargar data frame en app shiny
To: ruben.c...@gmail.com 


Hola a todos,
Tengo problemas con una app de shiny. Al iniciarla me sale este mensaje en
el navegador:
An error has occurred
The application failed to start.
The application exited during initialization.

Revisando el log me encuentro que falla porque no tiene permiso para
accecer a un fichero que está alojado en un directorio de otro usuario:
Esta línea es la que provoca el error:
load('/home/usuario/OUTPUT/products')

He cambiado los permisos del fichero, pero sigue sin funcionar:
-rw-rwxrwx. 1 usuario usuario 4500623 nov 23 01:22 products

Alguna idea de por qué está fallando? O en su defecto, alguna estrategia
para trabajar con datos que no estén en el directorio de la app?
Gracias por vuestra ayuda. Saludos.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Resumen de R-help-es, Vol 116, Envío 24

2018-10-16 Por tema Rubén Coca
Hola, prueba esto al iniciar la sesion de R / RStudio
options( java.parameters = "-Xmx4g" ) #4g indicates amount of RAM dedicated



On Tue, Oct 16, 2018 at 9:32 PM  wrote:

> Envíe los mensajes para la lista R-help-es a
> r-help-es@r-project.org
>
> Para subscribirse o anular su subscripción a través de la WEB
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
> r-help-es-requ...@r-project.org
>
> Puede contactar con el responsable de la lista escribiendo a:
> r-help-es-ow...@r-project.org
>
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of R-help-es digest...". Además, por favor, incluya en
> la respuesta sólo aquellas partes del mensaje a las que está
> respondiendo.
>
>
> Asuntos del día:
>
>1. Re: Problema de memoria de R (Carlos Ortega)
>2. Re: Problema de memoria de R (Juan Abasolo)
>
> --
>
> Message: 1
> Date: Tue, 16 Oct 2018 21:22:06 +0200
> From: Carlos Ortega 
> To: sara.sua...@epm.com.co
> Cc: Lista R 
> Subject: Re: [R-es] Problema de memoria de R
> Message-ID:
> <
> caokbq8jjs7fcbfccs6490m_nlbmh7fx3ysvwpgfoo0r-rez...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hola,
>
> Ese problema está asociado a un paquete que usa Java, si no das más
> detalles de qué paquete usas, función y tipo de cálculo que estás
> haciendo... complicado imaginar tantas cosas.
>
> Gracias,
> Carlos Ortega
> www.qualityexcellence.es
>
> El mar., 16 oct. 2018 a las 21:00, SARA SUAREZ ZAPATA via R-help-es (<
> r-help-es@r-project.org>) escribió:
>
> > Buenas tardes,
> >
> >
> >
> > Solicito por favor ayuda con este error:
> >
> >
> >
> > Error: OutOfMemoryError (Java): Java heap space
> >
> >
> >
> >
> >
> > Estoy trabajando con matrices de grandes dimensiones y el programa no
> > logra completarse porque dice le falta memoria.
> >
> >
> >
> > Gracias
> >
> >
> >
> >
> >
> > *[image: unnamed]*
> >
> > *Sara Suarez Zapata*
> >
> > Estudiante en práctica - Unidad Gestion Bolsa de Energia.
> >
> > Tel: (574) 380 61 18
> >
> > Correo: sara.sua...@epm.com.co
> >
> > www.epm.com.co
> >  >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ___
> > R-help-es mailing list
> > R-help-es@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>  próxima parte 
> Se ha borrado un adjunto en formato HTML...
> URL: <
> https://stat.ethz.ch/pipermail/r-help-es/attachments/20181016/ae9eca0d/attachment.html
> >
>
>  próxima parte 
> A non-text attachment was scrubbed...
> Name: image001.png
> Type: image/png
> Size: 3456 bytes
> Desc: no disponible
> URL: <
> https://stat.ethz.ch/pipermail/r-help-es/attachments/20181016/ae9eca0d/attachment.png
> >
>
>  próxima parte 
> A non-text attachment was scrubbed...
> Name: image001.png
> Type: image/png
> Size: 3456 bytes
> Desc: no disponible
> URL: <
> https://stat.ethz.ch/pipermail/r-help-es/attachments/20181016/ae9eca0d/attachment-0001.png
> >
>
>
> --
>
> Message: 2
> Date: Tue, 16 Oct 2018 21:32:22 +0200
> From: Juan Abasolo 
> To: Carlos Ortega 
> Cc: sara.sua...@epm.com.co, R-help-es 
> Subject: Re: [R-es] Problema de memoria de R
> Message-ID:
>  e9o...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Quizá sea una tontería, porque está fundamentado más en ocurrencia que otra
> cosa:
>
> ¿No estarás usando RStudio? Y en tal caso, ¿intentaste con la consola R a
> pelo?
>
> Recuerdo que alguna vez alguna bióloga me explicó lo malo que le resultaba
> RStudio para matrices grandes, que para las dimensiones de mis datos me
> sonaban imposibles.
>
> Suerte
>
> Hau idatzi du Carlos Ortega (c...@qualityexcellence.es) erabiltzaileak
> (2018
> urr. 16, ar. (21:22)):
>
> > Hola,
> >
> > Ese problema está asociado a un paquete que usa Java, si no das más
> > detalles de qué paquete usas, función y tipo de cálculo que estás
> > haciendo... complicado imaginar tantas cosas.
> >
> > Gracias,
> > Carlos Ortega
> > www.qualityexcellence.es
> >
> > El mar., 16 oct. 2018 a las 21:00, SARA SUAREZ ZAPATA via R-help-es (<
> > r-help-es@r-project.org>) escribió:
> >
> >> Buenas tardes,
> >>
> >>
> >>
> >> Solicito por favor ayuda con este error:
> >>
> >>
> >>
> >> Error: OutOfMemoryError (Java): Java heap space
> >>
> >>
> >>
> >>
> >>
> >> Estoy trabajando con matrices de grandes dimensiones y el programa no
> >> logra completarse porque dice le falta memoria.
> >>
> >>
> >>
> >> Gracias
> >>
> >>
> >>
> >>
> >>
> >> *[image: 

[R-es] Secuencia fija de números por grupo

2018-07-19 Por tema Rubén Coca
Hola, a partir de un data frame quiero crear una columna que aplique una
secuencia numérica fija (1 a 12) por cada grupo de una de las variables. Si
el grupo tiene más de 12 elementos, el contador tendría que reiniciarse a 1
en la fila 13, y así sucesivamente.
El resultado deseado sería algo así:

grupo seq
A 1
A 2
A 3
A 4
A 5
A 6
A 7
A 8
A 9
A 10
A 11
A 12
A 1
A 2
B 1
B 2
B 3
B 4
B 5
B 6
C 1
C 2
C 3
C 4
C 5
C 6
C 7
C 8
C 9
C 10

Alguna idea?
Gracias!!

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Asignar factor levels a nuevos datos

2018-06-22 Por tema Rubén Coca
Hola,
imaginemos que tengo este vector convertido a factor:

# ---
marcas1 <- factor(c('audi', 'opel', 'seat', 'toyota', 'opel'))

str(marcas1)

Factor w/ 4 levels "audi","opel",..: 1 2 3 4


¿Como puedo asignar la info de los niveles de marcas1 a un vector nuevo?
Por ejemplo:
marcas2 <- c('toyota', 'audi', 'audi', 'opel', 'audi')

Asumo que marcas2 no va a contener ninguna marca no presente en marcas1.

Muchas gracias por vuestra ayuda.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Más allá de group_by()

2018-01-25 Por tema Rubén Coca
Hola,
Os planteo una situación a ver si se os ocurre un enfoque que me permita
solucionarla.
Partiendo de un data frame con las siguientes variables: mes, cliente,
facturacion. Tal que así:

df <- data.frame(mes = c(1,1,1,1,2,2,2,2,3,3,3), cliente = c('a', 'b', 'c',
'd', 'b', 'c', 'd', 'e', 'b', 'd', 'e'), fact = c(100, 110, 120, 100, 90,
80, 110, 100, 90, 70, 120))

mes   cliente   fact
  1 a100
  1 b110
  1 c120
  1 d100
  2 b 90
  2 c 80
  2 d110
  2 e100
  3 b 90
  3 d 70
  3 e120

Con un simple group_by() y summarise() obtengo:
df <- df %>% group_by(mes) %>% summarise(sumFact = sum(fact))

mes   sumFact
  1   430
  2   380
  3   280

Y ahora viene lo complicado (para mí), quiero añadir dos nuevas columnas:
win y loss.
win debe sumar la facturacion de aquellos clientes que no existían en el
mes n-1. Loss debe sumar la facturación en el mes n-1 de los clientes que
ya no están en el mes n (y así sucesivamente). De forma que obtengamos el
data frame final:

mes   sumFact   win   loss
  1   430NA NA
  2   380   100100
  3   280 0 80

En el mes 2, win es la suma de la facturación del cliente e, que no estaba
en el mes 1 y loss es la suma de la facturación del cliente a, que estaba
en el mes 1 pero ya no en el 2.
En el mes 3, win es 0 porque no hay ningún cliente que no existiense en n-1
y loss es la suma de la facturación del cliente c, que estaba en el mes 2
pero no en el 3.

Espero haber explicado el caso con suficiente claridad y que podáis
ayudarme.
Muchas gracias!

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Crear lista con data frames

2017-10-18 Por tema Rubén Coca
Hola,
estoy buscando la manera de crear una lista que contenga una serie de data
frames (un número que puede variar con el tiempo pero que siempre van a
tener un nombre con una pauta definida). La lista debe estar nombrada con
el nombre de cada data frame.

Quiero evitar esto:

# ---
lista <- list(df1 = df1, df2 = df2, dfn = dfn)
# ---

ya que como no sé cuantos data frames voy a tener en un futuro.

¿Alguna idea o sugerencia?
Muchas gracias

Rubén

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] ggplot dentro de una función

2017-04-28 Por tema Rubén Coca
Hola a todos,
Partiendo de:

library(ggplot2); library(data.table)

datos <- data.table(Date = seq.Date(as.Date("2017-01-01"),
 as.Date("2017-01-10"),
 by = "day"),
 V1 = rnorm(10),
 V2 = rnorm(10))

Quiero crear una función para pintar un gráfico cuyos argumentos sean el
data table y la variable a pintar en el eje de las x. Se me ocurre ésta:

grafico <- function(dt, varx) {
  ggplot(dt, aes(x = Date, y = varx)) +
geom_point()
  ## un montón de código de configuración del gráfico, etc
}

grafico(datos, V1)

Pero ggplot dice que no encuentra V1...
Error in eval(expr, envir, enclos) : object 'V1' not found
In addition: Warning message:
In eval(expr, envir, enclos) : restarting interrupted promise evaluation

Alguna sugerencia o nuevo enfoque?
Muchas gracias

Rubén

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Distribuir intervalo de días entre meses

2017-04-07 Por tema Rubén Coca
Hola,
Partiendo de un data frame con 2 variables de fecha (inicio y fin):

df <- data.frame(inicio = c(as.Date("2016-01-01"),
  as.Date("2016-02-14")),
fin = c(as.Date("2016-02-01"),
  as.Date("2016-02-29")))

Necesitaría crear 12 nuevas columnas adicionales, una para cada mes, que
compute el número de días del intervalo que caen en cada mes. El resultado
deseado sería algo así:

inicio fin  enefebmarabrmayjun
   julagosepoctnovdic
2016-01-012016-02-01  31 1   00   00  0
 00   0   0   0
2016-02-142016-02-29  0   15 00   00  0
 00   0   0   0

Buscando he encontrado una aproximación al problema del reparto, pero no es
válida para data frames. La detallo por si sirve de inspiración:
table(format(seq(df$inicio, df$fin, by=1), "%m"))

Muchas gracias.
Rubén

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] convertir múltiples listas de múltiples dataframes en un único dataframe

2017-02-15 Por tema Rubén Coca
La función rbindlist del paquete data.table debería servir:

a <- data.frame(a = rep("a", 10), b = rep(10, 10))
b <- data.frame(a = rep("b", 20), b = rep(12, 20))

lista <- list(a, b)

library(data.table)

zz <- rbindlist(lista)

Saludos,
Rubén

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Eliminación de filas en data frame según versión del fichero de origen

2017-01-23 Por tema Rubén Coca
Hola a todos,
Pongamos que tengo un data frame en el que consolido observaciones
procedentes de múltiples ficheros. Para simplificar:
df <- data.frame(id = c(rep("0001", 4), rep("0002", 2), rep("0003", 3)),
 date = c(rep("2016-01-01", 4), rep("2016-01-10", 2),
rep("2016-02-01", 3)),
 value = runif(n = 9, min = 10, max = 20),
 version = c(rep(0, 2), rep(1, 2), rep(0, 2), rep(0, 3)))
El caso es que para un mismo id y date debo quedarme con la observación que
tenga la versión más alta (descartando el resto). Se os ocurre alguna
aproximación al problema?
Muchas gracias por vuestra ayuda
Rubén

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Asignar número de semana

2017-01-09 Por tema Rubén Coca
Gracias a todos por las respuestas.
Por si a alguien le interesa expongo un descubrimiento que me ha
solucionado el problema:
la función de lubridate isoweek() realiza el cambio de número de semana el
lunes, tal y como necesitaba (aunque desconozco la razón), mientras que la
función week() empieza a contabilizar como inicio de la semana 1 la fecha 1
de enero, por lo que el cambio de número de semana siempre dependerá del
día de la semana en el que se dio el 1 de enero. Por su parte, y como
curiosidad, la función wday() indica que el día 1 de la semana es el
domingo.

Un saludo

2017-01-10 0:08 GMT+01:00 :

> Perdón, me confundí, a usted no le interesa el mes, solo el día, y desde
> este conocer en que semana del año está.
>
>
>
> Pero sin embargo hay algo que no me cierra.
>
>
>
> Por ejemplo del aporte de Carlos Ortega para inicializar coloca
>
>
>
> isWed <- dmy(paste("0", as.character(i), "/01/", year(formattedDate), sep = 
> ""))
>
> ¿coloca el día 0/01/2017? Si tenemos en cuenta este año.
>
>
>
> Posiblemente funcione, pero libridate inicia la semana el domingo, ¿Cómo
> hace para la primer semana del año? Porque no todos los años comienzan el
> domingo, o desde la otra punta, el 31 de diciembre es domingo, se inicia la
> última semana del año, y el día lunes es el primero, de en ese caso es la
> primer semana del año nuevo (no inicia el domingo, habría dos inicios de
> semana en días consecutivos), y como está en el algoritmo, esta parte no me
> cierra del todo
>
> firstWed <- day(isWed)
>
>   if (firstWed > 1) {
>
> firstWeek <- 2
>
>   }
>
>   else {
>
> firstWeek <- 1
>
>   }
>
> ¿Da correcto o hay un problema? Habría que probarlo, yo no estoy seguro.
>
>
>
> Javier Rubén Marcuzzi
>
>
>
> *De: *Carlos Ortega 
> *Enviado: *lunes, 9 de enero de 2017 19:18
> *Para: *Rubén Coca 
> *CC: *Lista R 
> *Asunto: *Re: [R-es] Asignar número de semana
>
>
>
> Hola,
>
>
>
> Mira esto, que viene el código que puedes ajustar para considerar el
>
> comienzo de la semana el día que quieras. En el ejemplo consideran el
>
> miércoles...
>
>
>
> http://stackoverflow.com/questions/34617056/r-week-
> number-from-date-starting-on-a-friday
>
>
>
> Saludos,
>
> Carlos Ortega
>
> www.qualityexcellence.es
>
>
>
> El 9 de enero de 2017, 22:51, Rubén Coca  escribió:
>
>
>
> > Hola a todos.
>
> > Estoy tratando de asignar el número de semana del año a una serie de
> fechas
>
> > y me encuentro con que el paquete lubridate considera como día de inicio
> de
>
> > la semana el domingo en lugar del lunes.
>
> > Lo que se me ha ocurrido es crear una tabla auxiliar de fechas con los
>
> > campos: 'Fecha desde', 'Fecha hasta' y 'Semana ISO' tal que así:
>
> > 'Fecha desde', 'Fecha hasta', 'Semana ISO'
>
> > 28/12/2015, 03/01/2016, 53
>
> > 04/01/2016, 10/01/2016, 1
>
> > 11/01/2016, 17/01/2016, 2
>
> > 18/01/2016, 24/01/2016, 3
>
> > Pero lo que es muy fácil con Excel (=buscarv(fecha;tabla;3;1)), con R no
> sé
>
> > como hacerlo.
>
> >
>
> > ¿Alguna idea, sugerencia o forma alternativa de encarar el problema?
>
> >
>
> > Gracias por vuestra ayuda.
>
> > Rubén
>
> >
>
> > [[alternative HTML version deleted]]
>
> >
>
> > ___
>
> > R-help-es mailing list
>
> > R-help-es@r-project.org
>
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> >
>
>
>
>
>
>
>
> --
>
> Saludos,
>
> Carlos Ortega
>
> www.qualityexcellence.es
>
>
>
> [[alternative HTML version deleted]]
>
>
>
> ___
>
> R-help-es mailing list
>
> R-help-es@r-project.org
>
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Asignar número de semana

2017-01-09 Por tema Rubén Coca
Hola a todos.
Estoy tratando de asignar el número de semana del año a una serie de fechas
y me encuentro con que el paquete lubridate considera como día de inicio de
la semana el domingo en lugar del lunes.
Lo que se me ha ocurrido es crear una tabla auxiliar de fechas con los
campos: 'Fecha desde', 'Fecha hasta' y 'Semana ISO' tal que así:
'Fecha desde', 'Fecha hasta', 'Semana ISO'
28/12/2015, 03/01/2016, 53
04/01/2016, 10/01/2016, 1
11/01/2016, 17/01/2016, 2
18/01/2016, 24/01/2016, 3
Pero lo que es muy fácil con Excel (=buscarv(fecha;tabla;3;1)), con R no sé
como hacerlo.

¿Alguna idea, sugerencia o forma alternativa de encarar el problema?

Gracias por vuestra ayuda.
Rubén

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Calculo de índice de crecimiento respecto a periodo inicial

2016-12-06 Por tema Rubén Coca
Hola a todos,
Dado el siguiente código:

library(tidyr); library(dplyr); library(TTR)

meses <- seq(as.Date("2014/1/1"), by = "month", length.out = 24)
Mercado <- runif(24, min = 1000, max = 3000)
Competidor1 <- runif(24, min = 100, max = 300)
Competidor2 <- runif(24, min = 500, max = 800)

df <- data.frame(meses, Mercado, Competidor1, Competidor2)

# Convierto el data frame a formato long
df.long <- gather(df, Comp, Val, -meses)

# Y mediante la funcion ROC calculo el crecimiento respecto al mismo
periodo del año anterior
df.long.var <- df.long %>%
  group_by(Comp) %>%
  mutate(Growth = ROC(Val, n = 12, type = "discrete"))

Además, necesitaría conseguir una nueva columna para calcular el índice de
crecimiento pero respecto al periodo inicial, es decir "2014/1/1".
¿Alguna idea / sugerencia?

Muchas gracias!

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es