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.

Matriz coeficientes de correlación

de Juan Ruiz -

Buenas tardes. Quería saber cómo crear una matriz que contenga los coeficientes de correlación de Pearson entre las diversas filas de otra matriz que ya tengo previamente. Es decir:

Tengo una matriz de (por ejemplo) 5 filas, y quiero una segunda matriz de dimensión 5x5 donde el hueco [1,2] es el coeficiente de correlación entre la fila 1 y la 2 de la primera, el hueco [1,3] es el coeficiente de las filas 1 y 3, y así sucesivamente.

Si no me equivoco hay alguna manera de decirle al programa que identifique el valor de una determinada fila o columna como vector (he leído que empleando [i,] o [,j], pero he probado y no lo consigo). Si esto fuese posible, ya estaría todo resuelto.

Muchas gracias

Crear dataframe de secuencias asociadas a otro valor

de Sebastian F -

Hola:

Soy Sebastián y estoy aprendiendo R para utilizarlo en mi trabajo (anlisis de secuencias de DNA, epidemiología molecular). Creo ser usuario básico y me encontré con el siguiente problema:

Tengo dos dataframes

df1: contiene la misma secuencia de DNA (sin gaps) y asociado a un valor.

df2: contiene una secuencia de DNA con gaps (-) dado que proviene de un alineamiento múltiple.

Mi idea es asociar en un tercer df (df3) ambos dataframes (df1 y df2), pero respetando el alineamiento de cada nucleótido (A o T o G o C) y en las posiciones donde no encuentre un nucleótido (gap) asociar un valor x, que en este caso puede ser 0 (cero).

Por ejemplo

df1

BASENITROGENADA VALOR

A                                   134

T                                   178

C                                   215

G                                   089

df2

BASENITROGENADA

A

T

C

-

G

df3

BASENITROGENADA VALOR

A                                   134

T                                   178

C                                   215

-                                    0

G                                   089

Al tratar de hacer un cbind, me sale el siguiente error:

Error in data.frame(..., check.names = FALSE) : 



  arguments imply differing number of rows: 4, 5

¿Cómo puedo asociar esos valores? A través de un paquete especial, utilizando algún tipo de merge o definitivamente usar una función ("for" por ejemplo).

Queda atento a sus comentarios y preguntas

Se despide 

Sebastián Peña

Vector minimos cuadrados

de mark lopez -

Buenas tardes,

Tengo la matriz Q=[6 2 1;3 10 1] y el vector u=[0,0,1], para calcular el vector de minimos cuadrados en matlab hago la operación u/Q. ¿Como se haría en R?

Muchas gracias.

Un saludo.

Conversion de codigo

de mark lopez -

Buenos dias,

Ante todo muchas gracias por dejjarme formar parte de ete grupo.

Estoy pasando codigo de matlab a R y me encuentro con la situación siguiente.

Si X es una matriz y quiero quedarme con la fila primera y columnas de la 5 a la última y cogiendolas de dos en dos, en matlab hago esto, X(1,5:2:end), ¿Como podria hacerse esto en R? ¿Hay alguna función?

Gracias!

Consulta selección modelo de clasificación

de daniela paz -

Hola estimados,

muchas gracias por aceptarme en su foro.

Estoy comenzando en esto de la programación en R y tengo algunas dudas con respecto a como elegir un modelo asociado a clasificacón sobre otro, en primera instancia calculé la matriz de confusión para ambos, pero no sé como interpretar bien la información para decir este modelo es mejor que otro.

MÉTODO\ INDICADOR PRECISIÓN TASA DE ERROR SENSIBILIDAD ESPECIFICIDAD
ÁRBOL DECISIÓN AJUSTADO 0,844 0,156 0,952 0,411
BAYES INGENUO 0,801 0,199 0,832 0,712
 A simple vista podría pensar que el modelo se árbol de decisión es mejor, ya que es más preciso y que  además, de acuerdo a la sensibilidad que también es mayor en este caso.

Pero he leido sobre otros dos métodos, que no sé como generar:

Curva ROC y validación cruzada que si bien entiendo se genera a través de la función bagging.cv, y luego puedo sacar una matriz de confusión, sin embargo, este método lo que hace es ver la precisión del modelo a través de la data de entrenamiento solamente, por favor corríjanme si  estoy en lo incorrecto, y luego como puedo comparar los resultados de esta matriz de la val. cruzada con la de los modelos anteriormente mencionados?

Por favor, ayuda.

Gracias

Saludos

comparación de metricas

de stefhanie ram -

Hola buen dia potrai ayudarme, 

Tengo un data frame de 30mil filas, donde tengo mis X y la variable respuesta Y, los X son repetidos (alrededor de 150), pero cambian en otras características como año, lugar, asesor, etc. 

Yo quisiera comparar por ejemplo X1 con X2, que me den sus medias, N de cada uno, diferencia entre ambos, porcentaje de veces que gana uno sobre el otro. 

Y que también lo pueda filtrar por las características. Hay alguna librería o funciones que me recomiendes???  O que pueda realizar una función que pueda comparar los X (Y). 

Muchas gracias.

Ejemplo

        X       Y          A                L                     D             Marca 

       x1  1,98      2007         cordoba           carlos         a

       x2   2,3        2007        madrid             roberto        b

       x3   2,5        2007        zaragoza          alex             c

       x2   1,88       2008        cadiz               guillermo     b 

       x1   2,01       2008       santander        mauricio       a

       x3   3,02       2008       madrid              roberto        c




Structural VAR con identificación de variable instrumental.

de valeria salas -

Estoy intentando hacer funciones impulso respuesta de un modelo SVAR bi-variado del efecto del gasto del gobierno sobre el crecimiento del GDP utilizando un instrumento para el gasto del gobierno. 

Quiero saber si hay algún paquete que me deje hacer esto de forma directa porque hasta ahora todo lo que he encontrado utiliza Long-Run identification y no IV.

Función que entregue el i-ésimo decimal de un número

de Manuel Palacios -

Buenas, no se si yo me estoy complicando demasiado, pero aquí va.

¿Cómo creo una función que tome un número "x", y un número natural "r"(que será la posición del decimal que quiero), y me arroje el r-ésimo decimal de "x"?

Por ejemplo:

x<-4.35498

r<-3

Entonces la función debería devolver "4"


De antemano, gracias


Calculo de rutas en R

de Rafa Trigo -

Buenas tardes,


Quiza alguien puede echarme una mano con R. Estoy intentando calcular las rutas optimas entre varias ciudades. La idea final es poder optimizar las rutas, incluyendo ciudades intermedias cercanas a la ruta principal hasta la ciudad seleccionada. 


Estoy trabajando con packs como TSP pero no soy capaz de ligar las otras ciudades a la ruta principal, simplemente obtengo el mejor camino para llegar a la ciudad destino.


Por ejemplo, si viajo de Madrid a Berlin, puedo encontrar la ruta optima de camino, pero me gustaria incluir aquellas ciudades de la lista que disten menos de 50 kilometros de dicha ruta optima. 


Espero vuestras respuestas y muchas gracias de antemano.