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.

Distancia mínima entre coordenadas. Cómo asignar las coordenadas más cercanas

de Francisco Javier -
Hola, estoy tratando de crear un bucle usando "for" para calcular las distancias mínimas entre puntos (en coordenadas Latitud - Longitud) en dos marcos de datos

En mi caso, tengo un marco de datos1 con más de 1,000 puntos y otro (marco de datos2) con más de 10,000 puntos, y necesito asignar los puntos más cercanos en el marco de datos2 a cada punto en el marco de datos1

La distancia entre dos puntos se calcula mediante la fórmula:

Este es un ejemplo de marcos de datos con coordenadas:

coordenadas1 <- data.frame ("X1" = c (70,10,50), "Y1" = c (20,5,60))

coordenadas2 <- data.frame ("X2" = c (1,2,45,7,8,5,4,13,3,6), "Y2" = c (2,5,36,4,3, 2,6,27,9,8))

¿Alguien podría ayudarme a solucionarlo? Muchas gracias por adelantado
Saludos, Javi

Sacar rendimientos

de Heidy Cortés -

Estoy tratando de sacar los rendimientos a unas acciones, pero cuando intento hacer la matriz de rendimientos no me sale, adicionalmente no puedo hacerlo con varias acciones simultáneamente, alguien me puede colaborar

 

library(readxl)

B_10_Col <- read_excel("C:/Users/hcortes/Desktop/2021/Prueba R/B_10_Col.xlsx")

Precios = B_10_Col

rendimientos= matrix(nrow = 252, ncol = 3)

 

for (j in 2:4) {

    for (i in 1:252) {

      rendimientos [i,j-1] = log(Precios[i,j]/Precios[i+1,j])       

    }

}

 

Modelos con funciones especificas

de Jesus Sanchez Alberola -

Hola a todos, en la ejecución de modelos de regresión con la librería R commander sabrían decirme si es posible introducir modelos con una formulación especifica? 

Me explico, concretamente estaba buscando el modo de ajustar modelos que proceden de bibliográfia con una expresión concreta. Por ejemplo este:

Hm = 1,3+(Ho-1,3)*((1-(EXP(a*d)))/(1-(EXP(a*Do))))

Donde 

Hm es variable dependiente 

Ho y Do variables explicativas

a y d se supone que son coeficientes del modelo y es aqui donde no entiendo la manera de especificar esto en la formulación con R.

Gracias

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.