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.

Ayuda para filtrar en intervalos usando bucles con "for"

de Francisco Javier -

Hola, estoy tratando de filtrar en una secuencia por diferentes intervalos para obtener el valor máximo en cada intervalo ...

Estoy tratando de hacerlo filtrando usando un bucle ... pero no puedo hacerlo

Por favor, ¿alguien podría ayudarme?

Este es un ejemplo de dataframes para hacerlo:

```{r}

df <- data.frame(tibble(
PK = 5:105,
z = PK^2 #where PK is the secuence where I want to filter each interval
))

df1 <- data.frame(tibble(
INI = seq(from = 10, to = 90, by = 10), #every start of each interval
FIN = seq(from = 20, to = 100, by = 10) #every end of each interval
))

```

Alguien puede ayudarme?

Gracias por adelantado

Javier

Como calcular el valor máximo en intervalos de una serie de datos, indicando el inicio y final de cada intervalo en otro dataframe

de Francisco Javier -

Buenas, quiero calcular el valor máximo de determinados grupos de registros de una variable (df$z), indicando donde empieza y acaba cada grupo con otro dataframe (df1).

 

Estos serían como ejemplo los dos dataframes :

```{r}

df <- data.frame(tibble(
PK = 1:100,
z = PK^2)
)

df1 <- data.frame(tibble(
INI = seq(from = 10, to = 90, by = 10),
FIN = seq(from = 20, to = 100, by = 10)
))

```

 

La idea es ir filtrando en df$PK con los valores de df1 (INI y FIN) e ir calculando el máximo de la variable df$z para meter esos valores en un vector o dataframe:

obtener los valores máximos de df$z[i] en los diferentes intervalos (df1$INI[i] , df1$FIN[i])...

Mi intento fallido y mal hecho como principiante novato que soy es el siguiente: 

```{r}
data <- vector("list", length(df))
for (i in seq_along(df1)){
df %>%
filter(PK > df1$INI[i], PK < df1$FIN[i]) %>%

summarise(z_max=max(z))

}

```

Podría alguien ayudarme a hacerlo bien?

Gracias de antemano

Javier

Concatenar columnas "por años"

de Jorge Castel Clavera -

Muy buenas a todos,

Tengo un data frame del tipo:

    PIX   1990   1991 1992 1993  1994 1995 1996 1997  1998 1999 2000 2001 2002
1 6819  0.718  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
2 6820  3.806  1.66  1.66  1.66  1.66  1.66  1.66  1.66  1.66  1.66  1.66  1.66  1.66
3 6821  0.036  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
4 6822  3.806  0.61  0.61  0.61  0.61  0.61  0.61  0.61  0.61  0.61  0.61  0.61  0.62
5 6823  0.963  0.19  0.19  0.19  0.19  0.19  0.19  0.19  0.19  0.19  0.19  0.19  0.25 
6 6824  0.000  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00

Pero con mas años y mñas de 3000 píxeles (PIX)

Necesito convertirlo en tres únicas columnas:

PIX       YEAR   valor

6819     1990   0.718

6820     1990   3.806

6821     1990   0.036 

6819     1991   0.00

6820     1992   1.66

6821     1993   0.00

¿Cómo puedo hacerlo en r?

¡¡Muchas gracias!!

Error en Evaluación usando kfold partitioning

de Eduart Obando -

Estoy realizando un modelo de distribucion usando Maxent en R. Cuando quiero evaluar el modelo usando  kfold partitioning me sale el siguiente error: 

Error in evaluate(me, p = data.frame(occtest), a = data.frame(bkg.covs)) : 
  unused argument (p = data.frame(occtest)) 

____________________________

Estas son las lineas que estoy realizando para correr la evaluacion del modelo (en la ultima es la que me sale el error) 

fold <- kfold(pres.covs, k=5) #Genera un indice aleatorio de los folds
occtest <- pres.covs[fold == 1, ]
occtrain <- pres.covs[fold != 1, ]
y<-c(rep(1,nrow(occtrain)), rep(0,nrow(bkg.covs)))

env.values<-data.frame(rbind(occtrain, bkg.covs))

me <- maxent(env.values, y, args=c("addsamplestobackground=true"), path="./outputR")
e <- evaluate(me, p=data.frame(occtest), a=data.frame(bkg.covs))



Paquete R-UCA versión 4.0.5

de Manuel Muñoz Márquez -

Liberada la versión 4.0.5 del paquete R-UCA, que incluye la versión 4.0.5 de R, la versión 2.7-1 de R-Commander y la versión 4.4.3 del paquete RcmdrPlugin.UCA con un nuevo menú para la realización de gráficos de control de calidad.

¿Qué te gustaría hacer con R-Commander que aún no puedes? Dínoslo y tal vez lo podamos añadir a la próxima versión

funciones para leer directorios

de noelia otero -
hola!
mi problema es el siguiente:
trato de hallar el coeficiente de spearman entre una serie de datos.
Mi problema es que, necesito leer un directorio donde se encuentran los datos, pero dentro de este, tengo otros, y uno es al que tengo que acceder para leer los archivos.csv. Y ademas debo hacer los mismo para distintos directorios(todos se llaman igual E0001,E0002...(cambiando las tres ultimas cifras). Y dentro de cada E0001, tengo otra carpeta con los archivos de datos que necesito.
Necesitaria crear alguna funcion, que entre en el directorio y con un bucle recorrer todos los archivos que me interesan?pero no se como hacer para crear la variable y que vaya cambiando.
Espero haberme explicado con claridad.
Muchas gracias
saludos

R no me abre los archivos guardados

de Alberto Barja Lopez -

Hola a todos.

Tengo un problema, resulta que r me guarda en principio correctamente los archivos para retomarlos o volverlos a ver más tarde, pero después no me los abre. Me abre el programa vacío.

Tengo asociados los archivos para que me los abra r, y utilizo la úlitma versión de r en windows 10.

A ver si me podéis ayudar pronto, porque este viernes tengo examen práctico de bioestadística.

Muchas gracias de antemano.

Un saludo a todos.

Instalar R, R-commander, Rstudio y R-UCA OSX

de Valentina Amaral Acosta -

Buenos días,

 

He tenido un problema con R y me ha dejado de funcionar. Deinstale todo e intente volver a instalar siguiendo las pautas del pdf del curso Instalacion en Mac. Me sigue dando error y no se ya como resolverlo. 

Tengo OS high sierra 10.13.6 y me descargue la ultima version de R 4.0.2. 

el error apenas abro R es:

Loading required package: randtests
Loading required package: rmarkdown
Loading required package: TeachingDemos
Loading required package: tseries
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo

‘tseries’ version: 0.10-47

‘tseries’ is a package for time series analysis and computational
finance.

See ‘library(help="tseries")’ for details.


Attaching package: ‘tseries’

The following object is masked from ‘package:randtests’:

runs.test

Error: package or namespace load failed for ‘RcmdrPlugin.UCA’:
.onLoad failed in loadNamespace() for 'tcltk', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/4.0/Resources/library/tcltk/libs/tcltk.so':
dlopen(/Library/Frameworks/R.framework/Versions/4.0/Resources/library/tcltk/libs/tcltk.so, 10): Library not loaded: /opt/X11/lib/libX11.6.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/4.0/Resources/library/tcltk/libs/tcltk.so
Reason: image not found
In addition: Warning message:
In system2("/usr/bin/otool", c("-L", shQuote(DSO)), stdout = TRUE) :
running command ''/usr/bin/otool' -L '/Library/Frameworks/R.framework/Resources/library/tcltk/libs//tcltk.so'' had status 1
[R.app GUI 1.72 (7847) x86_64-apple-darwin17.0]

[Workspace restored from /Users/valentinaamaral/.RData]
[History restored from /Users/valentinaamaral/.Rapp.history]

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

 

le agradezco si me podria indicar como empezar de 0 y volver a tener todo intalado de nuevo (R, R-commander, Rstudio y R-UCA)

Gracias

Acentos en Script de R

de Patricio Reyes -

Buenos días:

Utilizo esta expresión para quitar los acentos de los nombres de las variables de una data.

names(Data) <- chartr('áéíóúñ','aeioun',names(Data))

Me funciona perfecto, pero cuando quiero volver a utilizar  el script,  se abre de esta forma:

names(Data) <- chartr('??????','aeioun',names(Data))

Lo que me obliga a editar siempre esta linea. Alguna solución a este asunto?

Saludos.