¿Es posible extraer el valor de una función de múltiples puntos utilizando R?
¡Hola y gracias por leer!
Construí una función ecdf usando RStudio y estoy tratando de obtener las probabilidades que corresponden a ciertos puntos (en formato de lista). Mi código en R se ve así:
input <- read.table('/home/agalvez/data/domains/test_ecdf.txt', sep="\t", header=TRUE)
<h1>Construir la función</h1>
myecdf <- ecdf(input$X118.4)
<h1>Graficar la función</h1>
plot(myecdf, main = "CDF", xlab = "Puntuación de bits", ylab = "Probabilidad") +
abline(v = 25, col = "red")
<h1>Extraer probabilidades</h1>
myecdf(100)
Como puedes ver, puedo extraer la probabilidad de un punto a la vez. Pero si intento obtener más de uno, obtengo un mensaje de error. Adjuntaré a continuación las cosas que he intentado y no han funcionado.
myecdf(100, 2, 4, ...)
Error in myecdf(100, 2, 4) : unused arguments (2, 4)
myecdf(100)
myecdf(2)
myecdf(4)
...
Este enfoque me da los resultados así en la consola:
> myecdf(100)
[1] 0.8048582
> myecdf(2)
[1] 1.382514e-05
> myecdf(4)
[1] 0.0005875684
Me gustaría que fueran una lista.
myecdf(100, 2, 4, ...)
Error in myecdf(100, 2, 4) : unused arguments (2, 4)
Cualquier ayuda sería muy apreciada, disculpa por molestar con esta pregunta simple, pero soy bastante nuevo en R ¡y gracias de antemano!
davy.ai
Para obtener las probabilidades que corresponden a una lista de puntos, puede utilizar la función
sapply
olapply
de la siguiente manera:“`{r}
points <- c(100, 2, 4)
probs <- sapply(points, myecdf)
probs
Alternativamente, puede envolver la función
sapply
con la funciónas.list
para obtener una lista de probabilidades:“`{r}
points <- c(100, 2, 4)
probs <- as.list(sapply(points, myecdf))
probs
¡Espero que esto sea de ayuda!