¡MUCHAS GRACIAS! Carlos me ha servido bastante. esto es excelente saludos Jimmy
El dom., 18 de oct. de 2020 a la(s) 05:32, Carlos Ortega ( [email protected]) escribió: > Hola, > > Bueno, puedes hacer el cálculo de una forma mucho más compacta y rápida. > Esta forma es especialmente recomendable cuando tienes muchas columnas y > muchas filas. > > > library(data.table) > > myDT <- as.data.table(mtcars) > > myDTlong <- melt(myDT, measure.vars=1:ncol(myDT)) > > myDTlong[ , list(p_value = shapiro.test(value)$p.value, v_stat = > shapiro.test(value)$statistic) , by = .(variable)] > variable p_value v_stat > 1: mpg 1.228814e-01 0.9475647 > 2: cyl 6.058338e-06 0.7533100 > 3: disp 2.080657e-02 0.9200127 > 4: hp 4.880824e-02 0.9334193 > 5: drat 1.100608e-01 0.9458839 > 6: wt 9.265499e-02 0.9432577 > 7: qsec 5.935176e-01 0.9732509 > 8: vs 9.737376e-08 0.6322635 > 9: am 7.836354e-08 0.6250744 > 10: gear 1.306844e-05 0.7727856 > 11: carb 4.382405e-04 0.8510972 > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > > El dom., 18 oct. 2020 a las 11:53, Carlos Ortega (< > [email protected]>) escribió: > >> Hola, >> >> No hace falta (en este caso) capturarlo de la consola. >> El resultado de la función apply se puede capturar y procesar. >> >> > data("mtcars") >> > # Mtcars_matriz <- as.matrix(mtcars) >> > res_out <- apply(mtcars, MARGIN =2, FUN = shapiro.test) >> > >> > >> > res_df <- as.data.frame(unlist(res_out)) >> > res_df$vars <- rownames(res_df) >> > rownames(res_df) <- NULL >> > names(res_df)[1] <- c('values') >> > >> > library(stringr) >> > res_fin <- data.frame( >> + pvalues = res_df[ str_detect(res_df$vars, "value"), ], >> + estadis = res_df[ str_detect(res_df$vars, "statistic"), ] >> + ) >> > res_fin >> pvalues.values pvalues.vars estadis.values estadis.vars >> 2 0.122881358539443 mpg.p.value 0.947564726479274 mpg.statistic.W >> 6 6.05833813310341e-06 cyl.p.value 0.753310022842721 cyl.statistic.W >> 10 0.0208065696108598 disp.p.value 0.920012680133146 disp.statistic.W >> 14 0.0488082381051741 hp.p.value 0.93341934019855 hp.statistic.W >> 18 0.110060757426683 drat.p.value 0.945883896521269 drat.statistic.W >> 22 0.0926549888932132 wt.p.value 0.943257719087817 wt.statistic.W >> 26 0.593517649295161 qsec.p.value 0.973250948857977 qsec.statistic.W >> 30 9.73737573091618e-08 vs.p.value 0.632263534949347 vs.statistic.W >> 34 7.83635448813453e-08 am.p.value 0.625074366031524 am.statistic.W >> 38 1.30684376520844e-05 gear.p.value 0.772785633173186 gear.statistic.W >> 42 0.000438240495931375 carb.p.value 0.851097225173946 carb.statistic.W >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> El dom., 18 oct. 2020 a las 7:12, Jimmy Erney Reyes Velasco (< >> [email protected]>) escribió: >> >>> Buen día >>> estimados >>> Estoy tratando de hacer un tibble con los resultados de un apply que se >>> muestran en la consola que me da R, no estoy seguro si eso se pueda >>> hacer, >>> pero me gustaría organizar los resultados de esa manera. >>> mi código es: >>> data("mtcars") >>> Mtcars_matriz <- as.matrix(mtcars) >>> apply(Mtcars_matriz, MARGIN =2, FUN = shapiro.test) >>> DF2 <- tibble(Variable = NA, W = NA, Pvalue = NA) >>> >>> la idea es que me guarde el nombre de la variable, el valor del >>> estadístico >>> y el pvalor. >>> >>> ¿alguien sabe si esto se puede hacer? >>> agradezco mucho su información >>> saludos >>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> R-help-es mailing list >>> [email protected] >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
