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.

No funciona una función creada

de royer rolda -

Hola, habia creado una funcion y tenia como objetivo verificar si cumple con ciertos datos y si lo era entonces se almacenaba en otra variable.

 

data = c(12, 20, 11, 16, 18, 32, 22 , 8)
class = function(N){}
  tabla1= c(1:8)
  for (i in length(N)){
    if (data[i]<21.78){
      table1[i]= data[i]
    }
  }
  return(table1)
}
dats <- class(10) # data no return

LLamar a una función desde un scipt

de mark lopez -

Buenas tardes,

Quiero minimizar la función, myfunD0 de argumentos (x,par1)

Para ello utilizo, (par,value,convergence,info)=fmincon(x0,myfun_D0(x,par1),A,B,c(),c(),LB,UB,c(),tol=1.000e-8,maxfeval=20000, maxiter=10000)

pero me da un error, no identifica la funcion myfunD0, que ya tengo definida en otro script.

¿ Se llamaría asi a la función myfunD0?

Gracias.

cargar objetos espaciales en R

de Casandra Mictecacihuatl García -

Buen día, estoy aprendiendo a usar R y voy en el módulo de objetos espaciales. La versión que manejo es la 3.6.0 y los simple features , por ejemplo: st_point y los demás, no permite el sistema cargarlos. Aparece lo siguiente: 

package st_point is not available for R (versión 3.6.0)

...could not fin function "st_point"


¿Podrían ayudarme por favor? 

Gracias




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