Hola Carlos, el resultado que obtengo con la respuesta que me has dado es el que esperaba:> as.numeric(as.vector(x))[1] 1.7504039 1.4626605 1.1457431 1.5056311 1.2612579 1.0327460 1.3196593 1.2054155 1.1670656 0.9917802 [11] 1.2098403 1.1124267 0.9489061 0.7720447 0.6983426 0.9633854 0.8960684 0.9821155 1.0089516 0.9584414 [21] 0.7305840 0.8051767 0.9199731 1.0962660 Pero pierdo precisión en los decimales.> x[1] 1.75040388643097 1.46266054300156 1.14574311778771 1.50563112246927 1.26125788054806 [6] 1.03274597893501 1.31965932278776 1.20541552214039 1.16706555932031 0.991780166664227 [11] 1.20984033103383 1.11242669578012 0.948906091930533 0.772044728866751 0.698342568975424 [16] 0.963385389073382 0.896068410457464 0.982115544678638 1.0089516162929 0.958441419588456 [21] 0.730584039229933 0.805176729165249 0.919973067389947 1.0962660284375 24 Levels: 0.698342568975424 0.730584039229933 0.772044728866751 0.805176729165249 ... 1.75040388643097 ¿Cómo se puede solucionar? ¡Muchísimas gracias por la ayuda! El 2 de enero de 2014, 11:47, Carlos Ortega <cof@qualityexcellence.es>escribió:> Hola, > > ¡Feliz Año! > > Prueba a convertir en vector as.numeric(*as.vector(x[,2])*) > Y si puede ser posible, envía el conjunto o un subconjunto de los datos > que manejas para ver si es que hay alguna otra cosa... > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > El 2 de enero de 2014, 11:41, Víctor Nalda Castellet < > victor.nalda.castellet@gmail.com> escribió: > >> ¡Hola a todos! ¡Feliz año nuevo! >> >> Estoy manejando un "dataframe" en R y al seleccionar una de sus columnas y >> realizarle una operación me da un error. Es decir, >> >> # x es el data.frame >> > typeof(x) >> [1] "list" >> > typeof(x[,2]) >> [1] "integer" >> > is.numeric(x[,2]) >> [1] FALSE >> > x[,2]^2 >> [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA >> NA >> Warning message: >> In Ops.factor(x[,2], 2) : ^ not meaningful for factors >> >> Como se puede ver, he comprobado si x[,2] es de tipo "numeric" y no lo es. >> Por lo que parece que ese es el problema... >> >> > x[,2] >> [1] 1.75040388643097 1.46266054300156 1.14574311778771 >> 1.50563112246927 >> 1.26125788054806 >> [6] 1.03274597893501 1.31965932278776 1.20541552214039 >> 1.16706555932031 >> 0.991780166664227 >> [11] 1.20984033103383 1.11242669578012 0.948906091930533 >> 0.772044728866751 0.698342568975424 >> [16] 0.963385389073382 0.896068410457464 0.982115544678638 1.0089516162929 >> 0.958441419588456 >> [21] 0.730584039229933 0.805176729165249 0.919973067389947 1.0962660284375 >> 24 Levels: 0.698342568975424 0.730584039229933 0.772044728866751 >> 0.805176729165249 ... 1.75040388643097 >> >> Entonces intento convertirlo a tipo "numeric"... >> >> > as.numeric(x[,2]) >> [1] 24 22 16 23 20 13 21 18 17 11 19 15 7 3 1 9 5 10 12 8 2 4 6 >> 14 >> >> ¡Este es el problema! No lo hace bien, ¿no?. >> >> ¿Alguien sabe que está ocurriendo? >> >> Gracias por adelantado. Un saludo. >> >> -- >> Víctor Nalda Castellet >> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es >-- Víctor Nalda Castellet [[alternative HTML version deleted]]
Hola, El número de decimales a mostrar lo puedes configurar con la función "options()". Saludos, Carlos Ortega www.qualityexcellence.es El 2 de enero de 2014, 12:02, Víctor Nalda Castellet < victor.nalda.castellet@gmail.com> escribió:> Hola Carlos, el resultado que obtengo con la respuesta que me has dado es > el que esperaba: > > > as.numeric(as.vector(x)) > [1] 1.7504039 1.4626605 1.1457431 1.5056311 1.2612579 1.0327460 1.3196593 > 1.2054155 1.1670656 0.9917802 > [11] 1.2098403 1.1124267 0.9489061 0.7720447 0.6983426 0.9633854 0.8960684 > 0.9821155 1.0089516 0.9584414 > [21] 0.7305840 0.8051767 0.9199731 1.0962660 > > Pero pierdo precisión en los decimales. > > > x > [1] 1.75040388643097 1.46266054300156 1.14574311778771 > 1.50563112246927 1.26125788054806 > [6] 1.03274597893501 1.31965932278776 1.20541552214039 > 1.16706555932031 0.991780166664227 > [11] 1.20984033103383 1.11242669578012 0.948906091930533 > 0.772044728866751 0.698342568975424 > [16] 0.963385389073382 0.896068410457464 0.982115544678638 1.0089516162929 > 0.958441419588456 > [21] 0.730584039229933 0.805176729165249 0.919973067389947 1.0962660284375 > > 24 Levels: 0.698342568975424 0.730584039229933 0.772044728866751 > 0.805176729165249 ... 1.75040388643097 > > ¿Cómo se puede solucionar? > > ¡Muchísimas gracias por la ayuda! > > > El 2 de enero de 2014, 11:47, Carlos Ortega <cof@qualityexcellence.es>escribió: > > Hola, >> >> ¡Feliz Año! >> >> Prueba a convertir en vector as.numeric(*as.vector(x[,2])*) >> Y si puede ser posible, envía el conjunto o un subconjunto de los datos >> que manejas para ver si es que hay alguna otra cosa... >> >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> El 2 de enero de 2014, 11:41, Víctor Nalda Castellet < >> victor.nalda.castellet@gmail.com> escribió: >> >>> ¡Hola a todos! ¡Feliz año nuevo! >>> >>> Estoy manejando un "dataframe" en R y al seleccionar una de sus columnas >>> y >>> realizarle una operación me da un error. Es decir, >>> >>> # x es el data.frame >>> > typeof(x) >>> [1] "list" >>> > typeof(x[,2]) >>> [1] "integer" >>> > is.numeric(x[,2]) >>> [1] FALSE >>> > x[,2]^2 >>> [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA >>> NA >>> Warning message: >>> In Ops.factor(x[,2], 2) : ^ not meaningful for factors >>> >>> Como se puede ver, he comprobado si x[,2] es de tipo "numeric" y no lo >>> es. >>> Por lo que parece que ese es el problema... >>> >>> > x[,2] >>> [1] 1.75040388643097 1.46266054300156 1.14574311778771 >>> 1.50563112246927 >>> 1.26125788054806 >>> [6] 1.03274597893501 1.31965932278776 1.20541552214039 >>> 1.16706555932031 >>> 0.991780166664227 >>> [11] 1.20984033103383 1.11242669578012 0.948906091930533 >>> 0.772044728866751 0.698342568975424 >>> [16] 0.963385389073382 0.896068410457464 0.982115544678638 >>> 1.0089516162929 >>> 0.958441419588456 >>> [21] 0.730584039229933 0.805176729165249 0.919973067389947 >>> 1.0962660284375 >>> 24 Levels: 0.698342568975424 0.730584039229933 0.772044728866751 >>> 0.805176729165249 ... 1.75040388643097 >>> >>> Entonces intento convertirlo a tipo "numeric"... >>> >>> > as.numeric(x[,2]) >>> [1] 24 22 16 23 20 13 21 18 17 11 19 15 7 3 1 9 5 10 12 8 2 4 >>> 6 14 >>> >>> ¡Este es el problema! No lo hace bien, ¿no?. >>> >>> ¿Alguien sabe que está ocurriendo? >>> >>> Gracias por adelantado. Un saludo. >>> >>> -- >>> Víctor Nalda Castellet >>> >>> [[alternative HTML version deleted]] >>> >>> >>> _______________________________________________ >>> R-help-es mailing list >>> R-help-es@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > > -- > Víctor Nalda Castellet >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Vale, muchas gracias. El 2 de enero de 2014, 13:26, Carlos Ortega <cof@qualityexcellence.es>escribió:> Hola, > > El número de decimales a mostrar lo puedes configurar con la función > "options()". > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > El 2 de enero de 2014, 12:02, Víctor Nalda Castellet < > victor.nalda.castellet@gmail.com> escribió: > > Hola Carlos, el resultado que obtengo con la respuesta que me has dado es >> el que esperaba: >> >> > as.numeric(as.vector(x)) >> [1] 1.7504039 1.4626605 1.1457431 1.5056311 1.2612579 1.0327460 >> 1.3196593 1.2054155 1.1670656 0.9917802 >> [11] 1.2098403 1.1124267 0.9489061 0.7720447 0.6983426 0.9633854 >> 0.8960684 0.9821155 1.0089516 0.9584414 >> [21] 0.7305840 0.8051767 0.9199731 1.0962660 >> >> Pero pierdo precisión en los decimales. >> >> > x >> [1] 1.75040388643097 1.46266054300156 1.14574311778771 >> 1.50563112246927 1.26125788054806 >> [6] 1.03274597893501 1.31965932278776 1.20541552214039 >> 1.16706555932031 0.991780166664227 >> [11] 1.20984033103383 1.11242669578012 0.948906091930533 >> 0.772044728866751 0.698342568975424 >> [16] 0.963385389073382 0.896068410457464 0.982115544678638 >> 1.0089516162929 0.958441419588456 >> [21] 0.730584039229933 0.805176729165249 0.919973067389947 >> 1.0962660284375 >> 24 Levels: 0.698342568975424 0.730584039229933 0.772044728866751 >> 0.805176729165249 ... 1.75040388643097 >> >> ¿Cómo se puede solucionar? >> >> ¡Muchísimas gracias por la ayuda! >> >> >> El 2 de enero de 2014, 11:47, Carlos Ortega <cof@qualityexcellence.es>escribió: >> >> Hola, >>> >>> ¡Feliz Año! >>> >>> Prueba a convertir en vector as.numeric(*as.vector(x[,2])*) >>> Y si puede ser posible, envía el conjunto o un subconjunto de los datos >>> que manejas para ver si es que hay alguna otra cosa... >>> >>> >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >>> >>> El 2 de enero de 2014, 11:41, Víctor Nalda Castellet < >>> victor.nalda.castellet@gmail.com> escribió: >>> >>>> ¡Hola a todos! ¡Feliz año nuevo! >>>> >>>> Estoy manejando un "dataframe" en R y al seleccionar una de sus >>>> columnas y >>>> realizarle una operación me da un error. Es decir, >>>> >>>> # x es el data.frame >>>> > typeof(x) >>>> [1] "list" >>>> > typeof(x[,2]) >>>> [1] "integer" >>>> > is.numeric(x[,2]) >>>> [1] FALSE >>>> > x[,2]^2 >>>> [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA >>>> NA NA >>>> Warning message: >>>> In Ops.factor(x[,2], 2) : ^ not meaningful for factors >>>> >>>> Como se puede ver, he comprobado si x[,2] es de tipo "numeric" y no lo >>>> es. >>>> Por lo que parece que ese es el problema... >>>> >>>> > x[,2] >>>> [1] 1.75040388643097 1.46266054300156 1.14574311778771 >>>> 1.50563112246927 >>>> 1.26125788054806 >>>> [6] 1.03274597893501 1.31965932278776 1.20541552214039 >>>> 1.16706555932031 >>>> 0.991780166664227 >>>> [11] 1.20984033103383 1.11242669578012 0.948906091930533 >>>> 0.772044728866751 0.698342568975424 >>>> [16] 0.963385389073382 0.896068410457464 0.982115544678638 >>>> 1.0089516162929 >>>> 0.958441419588456 >>>> [21] 0.730584039229933 0.805176729165249 0.919973067389947 >>>> 1.0962660284375 >>>> 24 Levels: 0.698342568975424 0.730584039229933 0.772044728866751 >>>> 0.805176729165249 ... 1.75040388643097 >>>> >>>> Entonces intento convertirlo a tipo "numeric"... >>>> >>>> > as.numeric(x[,2]) >>>> [1] 24 22 16 23 20 13 21 18 17 11 19 15 7 3 1 9 5 10 12 8 2 4 >>>> 6 14 >>>> >>>> ¡Este es el problema! No lo hace bien, ¿no?. >>>> >>>> ¿Alguien sabe que está ocurriendo? >>>> >>>> Gracias por adelantado. Un saludo. >>>> >>>> -- >>>> Víctor Nalda Castellet >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> >>>> _______________________________________________ >>>> R-help-es mailing list >>>> R-help-es@r-project.org >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>> >>>> >>> >>> >>> -- >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >> >> >> >> -- >> Víctor Nalda Castellet >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es >-- Víctor Nalda Castellet [[alternative HTML version deleted]]