Articles of aplicar

¿Por qué un factor como as.factor devuelve un carácter cuando se usa dentro?

Quiero convertir variables en factores usando apply() : a <- data.frame(x1 = rnorm(100), x2 = sample(c("a","b"), 100, replace = T), x3 = factor(c(rep("a",50) , rep("b",50)))) a2 <- apply(a, 2,as.factor) apply(a2, 2,class) resultados en: x1 x2 x3 “character” “character” “character” No entiendo por qué esto da como resultado vectores de caracteres en lugar de vectores de […]

Eliminar / colapsar valores duplicados consecutivos en secuencia

Tengo el siguiente dataframe : aaabccdeaabbbeedd El resultado requerido debe ser abcdeabed Significa que no hay dos filas consecutivas que tengan el mismo valor. Cómo se puede hacer sin usar el bucle Como mi conjunto de datos es bastante grande, la ejecución de bucles requiere mucho tiempo. La estructura del dataframe es como la siguiente […]

Eliminar columnas del dataframe donde TODOS los valores son NA

Tengo problemas con un dataframe y no pude resolver ese problema yo mismo: El dataframe tiene propiedades arbitrarias como columnas y cada fila representa un conjunto de datos . La pregunta es: ¿Cómo deshacerse de las columnas donde TODAS las filas tienen el valor NA ?

Concatenar en fila a través de columnas específicas de dataframe

Tengo un dataframe con columnas que, cuando se concatena (en filas) como una cadena, me permitiría dividir el dataframe en la forma deseada. > str(data) ‘data.frame’: 680420 obs. of 10 variables: $ A : chr “2011-01-26” “2011-01-26” “2011-02-09” “2011-02-09” … $ B : chr “2011-01-26” “2011-01-27” “2011-02-09” “2011-02-10” … $ C : chr “2011-01-26” “2011-01-26” […]

¿Por qué `vapply` es más seguro que` sapply`?

La documentación dice vapply es similar a sapply , pero tiene un tipo de valor de retorno previamente especificado, por lo que puede ser más seguro […] de usar. ¿Podrían explicar por qué es generalmente más seguro, tal vez dando ejemplos? PD: Conozco la respuesta y ya tiendo a evitar sapply . Solo desearía que […]

¿Por qué apply () devuelve una matriz xts transpuesta?

Quiero ejecutar una función en todos los períodos de una matriz xts. apply () es muy rápido pero la matriz devuelta tiene dimensiones transpuestas en comparación con el objeto original: > dim(myxts) [1] 7429 48 > myxts.2 = apply(myxts, 1 , function(x) { return(x) }) > dim(myxts.2) [1] 48 7429 > str(myxts) An ‘xts’ object […]

Aplicar una función a cada fila de una matriz o un dataframe

Supongamos que tengo una matriz por 2 y una función que toma un 2-vector como uno de sus argumentos. Me gustaría aplicar la función a cada fila de la matriz y obtener un n-vector. ¿Cómo hacer esto en R? Por ejemplo, me gustaría calcular la densidad de una distribución Normal estándar 2D en tres puntos: […]

¿Hay una función R que aplica una función a cada par de columnas?

A menudo necesito aplicar una función a cada par de columnas en un dataframe / matriz y devolver los resultados en una matriz. Ahora siempre escribo un ciclo para hacer esto. Por ejemplo, para hacer una matriz que contenga los valores p de las correlaciones, escribo: df <- data.frame(x=rnorm(100),y=rnorm(100),z=rnorm(100)) n <- ncol(df) foo <- matrix(0,n,n) […]

¿Por qué los bucles son lentos en R?

Sé que los bucles son lentos en R y que debería intentar hacer las cosas de forma vectorializada. ¿Pero por qué? ¿Por qué los bucles son lentos y se apply rápidamente? apply llamadas varias subfunciones, eso no parece rápido. Actualización: Lo siento, la pregunta estuvo mal planteada. Estaba confundiendo vectorización con apply . Mi pregunta […]

¿Las R aplican a la familia más que el azúcar sintáctico?

… con respecto al tiempo de ejecución y / o memoria. Si esto no es cierto, pruébalo con un fragmento de código. Tenga en cuenta que acelerar por vectorización no cuenta. La aceleración debe provenir de apply ( tapply , sapply , …) en sí.