[R-es] Problema con la lectura de datos

Valentina Aguilera valeagui en outlook.es
Mie Nov 11 16:13:55 CET 2015


Hola Carlos, muchas gracias....pero hago exactamente lo mismo que tu..y al intentar de hacer la matriz de correlaciones sigue generando error:
'x' must be numeric
se podrá deber a algo relacionado con la configuración de mi equipo, o qué más podría hacer para que funcione!
Muchas gracias!

Date: Wed, 11 Nov 2015 15:53:44 +0100
Subject: Re: [R-es] Problema con la lectura de datos
From: cof en qualityexcellence.es
To: valeagui en outlook.es
CC: r-help-es en r-project.org

​Hola,

A mí me funciona la importación directa. Previamente he guardado la hoja de Excel en .csv (separado por ";").
Y hago sin problemas la correlación entre dos variables (las dos primeras).


> datIn <- read.csv("Variables.csv", header=T, as.is=T, sep=";", dec=",")
> head(datIn)
        EMPRESAS  AA   AB   AC   AD   AE  AF  AG  AH       AI      AJ       BA      BB   BC    DA       DB      DC    DD   DE   EA       EB       EE
1 A.AUDITOR\xcdA 200  350   90 2000  500  30  59  24  5937586 2644207 13.47170  588.00  834  0.00  0.00000  0.0000  0.00  477  763 57.19424 62.51638
2 A.JUR\xcdDICAS   0  499  120  825  358  81  82  27  5012257 2666411 15.69663  891.00 1655 29.00  0.00000  0.0000 43.03  738 1400 44.59592 52.71429
3    A.SERVICIOS 219    0   62 1411  743 112  71  45 11461538 5190688 21.10714  855.04 1222 21.00 80.01000 65.5527 69.00  694 1098 56.79214 63.20583
4    B.M\xc1LAGA 776 1796 1590 1888 2381 392 168 107 21441999       0 12.54286 2768.00 3677 58.00 82.00000 68.0000 55.00 2206 3332 59.99456 66.20648
5      B.SEVILLA 143  394    0  502    0  30  30  18  2966295 1173798 15.85185  355.00  894  0.00 56.49913  0.0000 32.92  444  779 49.66443 56.99615
6   CONSULTORIAS 481  701  238 1259  713  46 125   0 12984728 4710599  9.00000  696.00 1059  6.14 68.32000 48.5700 19.38  459  979 43.34278 46.88458
> cor(datIn$AA, datIn$BB)
[1] 0.2626692


También puedo hacer sin problemas la correlación entre todas las variables salvo obviamente la primera.

cor(datIn[,c(2:ncol(datIn))])
           AA        AB        AC        AD         AE        AF         AG          AH          AI         AJ         BA        BB        BC
AA 1.00000000 0.8486977 0.8265902 0.6596269 0.68866326 0.4743002 0.20140216  0.36692385  0.15680060  0.1815578 0.04421944 0.2626692 0.3700924
AB 0.84869774 1.0000000 0.7727162 0.6800804 0.60239429 0.4549922 0.20038993  0.32051030  0.07611170  0.1867806 0.14900189 0.2935827 0.3828968
AC 0.82659015 0.7727162 1.0000000 0.4311124 0.54400731 0.4709625 0.28513806  0.44539063  0.20701477  0.1489140 0.11556071 0.2635190 0.3144135
AD 0.65962689 0.6800804 0.4311124 1.0000000 0.57683448 0.4778828 0.21678760  0.12908808  0.23096319  0.1605449 0.23394432 0.2778728 0.4127627
AE 0.68866326 0.6023943 0.5440073 0.5768345 1.00000000 0.7380745 0.31759392  0.55843107  0.35888923  0.4279849 0.23914953 0.3466021 0.4665056
AF 0.47430018 0.4549922 0.4709625 0.4778828 0.73807450 1.0000000 0.61495885  0.61403766  0.56650392  0.4192717 0.52201711 0.5480744 0.5570965
AG 0.20140216 0.2003899 0.2851381 0.2167876 0.31759392 0.6149588 1.00000000  0.71671688  0.75102728  0.5815705 0.35942749 0.3458967 0.3521773
AH 0.36692385 0.3205103 0.4453906 0.1290881 0.55843107 0.6140377 0.71671688  1.00000000  0.56378874  0.7522773 0.33759298 0.3339301 0.3772097


Saludos,
Carlos Ortega
www.qualityexcellence.es
​
El 11 de noviembre de 2015, 15:32, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:
Si es un excel, yo siempre los paso a R de la misma manera:



Los copio del excel y los pego en R usando el comando:



datos<-read.table("clipboard",header=T,dec=",",sep="\t")



siendo dec="," si el separador decimal es l acoma, header=T si lo sdatos tienen título.



Y te quitas de usar pqeutees y de líos.



Un saludo

Jesús



> From: josea.bartolome en mineco.es

> To: valeagui en outlook.es; r-help-es en r-project.org

> Date: Wed, 11 Nov 2015 14:22:23 +0000

> Subject: Re: [R-es] Problema con la lectura de datos

>

> Hola.

>

> He estado viendo los datos que adjuntas en el correo. Al ser un fichero Excel xlsx ¿por qué no lo abres directamente?

> Te aconsejaría la librería openxlsx (si no la has usado nunca , instálala con install.packages(“openxlsx”))

>

> Este es el código que he ejecutado y los resultados que obtengo:

>

> library(openxlsx)

>

> dat <- read.xlsx("Variables.xlsx")

> str(dat)

>

> Que produce:

>

> 'data.frame':  42 obs. of  22 variables:

> $ EMPRESAS: chr  "A.AUDITORÍA" "A.JURÍDICAS" "A.SERVICIOS" "B.MÁLAGA" ...

> $ AA      : num  200 0 219 776 143 481 380 205 806 0 ...

> $ AB      : num  350 499 0 1796 394 ...

> $ AC      : num  90 120 62 1590 0 ...

> $ AD      : num  2000 825 1411 1888 502 ...

> $ AE      : num  500 358 743 2381 0 ...

> $ AF      : num  30 81 112 392 30 46 140 46 283 214 ...

> $ AG      : num  59 82 71 168 30 125 69 27 132 268 ...

> $ AH      : num  24 27 45 107 18 0 50 17 85 148 ...

> $ AI      : num  5937586 5012257 11461538 21441999 2966295 ...

> $ AJ      : num  2644207 2666411 5190688 0 1173798 ...

> $ BA      : num  13.5 15.7 21.1 12.5 15.9 ...

> $ BB      : num  588 891 855 2768 355 ...

> $ BC      : num  834 1655 1222 3677 894 ...

> $ DA      : num  0 29 21 58 0 6.14 59 78.3 40 0 ...

> $ DB      : num  0 0 80 82 56.5 ...

> $ DC      : num  0 0 65.6 68 0 ...

> $ DD      : num  0 43 69 55 32.9 ...

> $ DE      : num  477 738 694 2206 444 ...

> $ EA      : num  763 1400 1098 3332 779 ...

> $ EB      : num  57.2 44.6 56.8 60 49.7 ...

> $ EE      : num  62.5 52.7 63.2 66.2 57 ...

>

> En este caso, excepto la primera variable del data.frame, EMPRESAS, el resto de variables son todas numéricas.

>

> Al calcular la correlación,

>

> cor(dat[, 2:ncol(dat)])

>

> Obtengo,

>

> > cor(dat[, 2:ncol(dat)])

>            AA        AB        AC        AD         AE        AF         AG          AH          AI         AJ         BA        BB        BC

> AA 1.00000000 0.8486977 0.8265902 0.6596269 0.68866326 0.4743002 0.20140216  0.36692385  0.15680060  0.1815578 0.04421944 0.2626692 0.3700924

> AB 0.84869774 1.0000000 0.7727162 0.6800804 0.60239429 0.4549922 0.20038993  0.32051030  0.07611170  0.1867806 0.14900189 0.2935827 0.3828968

> AC 0.82659015 0.7727162 1.0000000 0.4311124 0.54400731 0.4709625 0.28513806  0.44539063  0.20701477  0.1489140 0.11556071 0.2635190 0.3144135

> AD 0.65962689 0.6800804 0.4311124 1.0000000 0.57683448 0.4778828 0.21678760  0.12908808  0.23096319  0.1605449 0.23394432 0.2778728 0.4127627

> AE 0.68866326 0.6023943 0.5440073 0.5768345 1.00000000 0.7380745 0.31759392  0.55843107  0.35888923  0.4279849 0.23914953 0.3466021 0.4665056

> AF 0.47430018 0.4549922 0.4709625 0.4778828 0.73807450 1.0000000 0.61495885  0.61403766  0.56650392  0.4192717 0.52201711 0.5480744 0.5570965

> AG 0.20140216 0.2003899 0.2851381 0.2167876 0.31759392 0.6149588 1.00000000  0.71671688  0.75102728  0.5815705 0.35942749 0.3458967 0.3521773

> AH 0.36692385 0.3205103 0.4453906 0.1290881 0.55843107 0.6140377 0.71671688  1.00000000  0.56378874  0.7522773 0.33759298 0.3339301 0.3772097

> AI 0.15680060 0.0761117 0.2070148 0.2309632 0.35888923 0.5665039 0.75102728  0.56378874  1.00000000  0.7238554 0.36718739 0.3593759 0.3648694

> AJ 0.18155782 0.1867806 0.1489140 0.1605449 0.42798492 0.4192717 0.58157047  0.75227731  0.72385544  1.0000000 0.32383985 0.2251971 0.3290529

> BA 0.04421944 0.1490019 0.1155607 0.2339443 0.23914953 0.5220171 0.35942749  0.33759298  0.36718739  0.3238398 1.00000000 0.4741997 0.4849367

> BB 0.26266922 0.2935827 0.2635190 0.2778728 0.34660209 0.5480744 0.34589670  0.33393007  0.35937594  0.2251971 0.47419975 1.0000000 0.8644753

> BC 0.37009242 0.3828968 0.3144135 0.4127627 0.46650558 0.5570965 0.35217726  0.37720971  0.36486945  0.3290529 0.48493672 0.8644753 1.0000000

> DA 0.12729358 0.2097083 0.2273743 0.2586080 0.04903814 0.1337604 0.04770505 -0.02820084 -0.08026755 -0.0690546 0.10452352 0.2456501 0.2663439

> DB 0.34433620 0.3644439 0.2742700 0.2915012 0.37237335 0.4424803 0.26910692  0.18049995  0.07458397  0.1720090 0.25373766 0.2838717 0.3686991

> DC 0.31138871 0.4351456 0.3708863 0.2879036 0.27894283 0.3910026 0.35626679  0.25150771  0.04803632  0.1964792 0.21908448 0.3448711 0.3715649

> DD 0.12114443 0.2021762 0.2608359 0.1905531 0.22097695 0.5625022 0.50523504  0.31467457  0.39783383  0.2595466 0.53118085 0.2289631 0.1301571

> DE 0.35222168 0.3349595 0.3395499 0.3520103 0.38773536 0.4383205 0.31627815  0.32071392  0.36785525  0.2521859 0.48523738 0.8300639 0.9513514

> EA 0.38719393 0.3943053 0.3165222 0.4447254 0.49626537 0.5603614 0.34303174  0.38201422  0.36379446  0.3440225 0.44728760 0.8477830 0.9917205

> EB 0.23715300 0.2161053 0.2874953 0.2931956 0.16217684 0.2491931 0.28613475  0.24330620  0.31937182  0.1708668 0.68896759 0.2480708 0.3048419

> EE 0.17607827 0.1706387 0.2458498 0.2010243 0.08499049 0.1842111 0.23259246  0.17859229  0.24737884  0.1069764 0.63462949 0.1897725 0.2332711

>             DA         DB         DC         DD         DE         EA        EB         EE

> AA  0.12729358 0.34433620 0.31138871 0.12114443 0.35222168 0.38719393 0.2371530 0.17607827

> AB  0.20970834 0.36444390 0.43514558 0.20217623 0.33495945 0.39430527 0.2161053 0.17063869

> AC  0.22737429 0.27426997 0.37088630 0.26083592 0.33954991 0.31652223 0.2874953 0.24584980

> AD  0.25860803 0.29150116 0.28790356 0.19055307 0.35201029 0.44472536 0.2931956 0.20102429

> AE  0.04903814 0.37237335 0.27894283 0.22097695 0.38773536 0.49626537 0.1621768 0.08499049

> AF  0.13376042 0.44248035 0.39100256 0.56250225 0.43832051 0.56036142 0.2491931 0.18421108

> AG  0.04770505 0.26910692 0.35626679 0.50523504 0.31627815 0.34303174 0.2861347 0.23259246

> AH -0.02820084 0.18049995 0.25150771 0.31467457 0.32071392 0.38201422 0.2433062 0.17859229

> AI -0.08026755 0.07458397 0.04803632 0.39783383 0.36785525 0.36379446 0.3193718 0.24737884

> AJ -0.06905460 0.17200898 0.19647923 0.25954659 0.25218588 0.34402252 0.1708668 0.10697637

> BA  0.10452352 0.25373766 0.21908448 0.53118085 0.48523738 0.44728760 0.6889676 0.63462949

> BB  0.24565007 0.28387172 0.34487115 0.22896314 0.83006391 0.84778301 0.2480708 0.18977246

> BC  0.26634388 0.36869915 0.37156494 0.13015707 0.95135143 0.99172045 0.3048419 0.23327107

> DA  1.00000000 0.34271551 0.46962484 0.21028693 0.22537099 0.24605036 0.1880578 0.23275533

> DB  0.34271551 1.00000000 0.82643586 0.37753408 0.31011191 0.38632011 0.1775467 0.12354507

> DC  0.46962484 0.82643586 1.00000000 0.48052101 0.29376338 0.37927205 0.1063780 0.07589745

> DD  0.21028693 0.37753408 0.48052101 1.00000000 0.07915853 0.09352177 0.3750688 0.38475445

> DE  0.22537099 0.31011191 0.29376338 0.07915853 1.00000000 0.93416336 0.4125650 0.34015216

> EA  0.24605036 0.38632011 0.37927205 0.09352177 0.93416336 1.00000000 0.2546461 0.16211743

> EB  0.18805779 0.17754666 0.10637802 0.37506880 0.41256496 0.25464611 1.0000000 0.97266157

> EE  0.23275533 0.12354507 0.07589745 0.38475445 0.34015216 0.16211743 0.9726616 1.00000000

>

>

> Espero haberte ayudado. Un cordial saludo.

>

>

>

> De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Valentina Aguilera

> Enviado el: Wednesday, November 11, 2015 2:31 PM

> Para: daniel; r help

> Asunto: Re: [R-es] Problema con la lectura de datos

>

> Holaa...yo estoy utilizando el siguiente código, pero no me va...y lo que quiero es que R lea la base de datos, donde la primera columna es el nombre de la empresa y las otras variables, para luego calcular una matriz de correlaciones:

>

> library(xtable)

>

> Variables <- read.csv("C:/Users/usuario/Documents/variables2.csv", header=TRUE, sep=";", comment.char="" ,                          colClasses=c(Empresas="character", rep("numeric",21)), strip.white=FALSE, dec = ",")

>

> pero con esto genera el sgte error, como ya he mencionado antes:

>

> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :   scan() expected 'a real', got 'ND'

>

> Luego, si sólo escribo el siguiente código:

>

> library(xtable)

>

> Variables <- read.csv("C:/Users/usuario/Documents/variables2.csv", header=TRUE, sep=";")

>

> R los lee, pero cuando quiero generar la matriz de correlaciones, genera el siguiente error:

>

> Error in cor(Variables) : 'x' must be numeric

>

> Realmente no sé que se deba hacer, por lo que agradecería si me pueden ayudar, aquí adjunto la base de datos en formato excel.

>

> Gracias mil!!!

>

>

> ________________________________

> Date: Tue, 10 Nov 2015 17:11:33 -0300

> Subject: Re: [R-es] Problema con la lectura de datos

> From: daniel319 en gmail.com<mailto:daniel319 en gmail.com>

> To: javier.ruben.marcuzzi en gmail.com<mailto:javier.ruben.marcuzzi en gmail.com>

> CC: valeagui en outlook.es<mailto:valeagui en outlook.es>; r-help-es en r-project.org<mailto:r-help-es en r-project.org>

> Valentina,

> Si entiendo bien la primer columna de Variables es el nombre de Empresas (un character), no uses esta columna en la función cor, sólo las columnas numéricas. cor(Variables[ , -which( names(Variables) == "Empresas")])

>

> Si no es ese el problema envía

> str(Variables)

>

> para entender mejor la estructura de los datos, y si puedes dput(Variables).

>

> Suerte,

>

> Daniel Merino

>

>

>

> El 10 de noviembre de 2015, 17:02, Javier Rubén Marcuzzi <javier.ruben.marcuzzi en gmail.com<mailto:javier.ruben.marcuzzi en gmail.com>> escribió:

> Estimado Valentina Aguilera

>

> Prueba algo como:

> b$Edad <- as.vector(b$Edad)

> o

> b$Edad <- as.numeric(b$Edad)

>

> Claro, por cada variable que debas convertir. Yo para saber cuales escribo str(mi data frame).

>

> Uno de los dos tendría que funcionar

>

> Javier Rubén Marcuzzi

> Técnico en Industrias Lácteas

> Veterinario

>

>

>

> De: Valentina Aguilera

> Enviado: martes, 10 de noviembre de 2015 16:56

> Para: Javier Rubén Marcuzzi;r help

> Asunto: RE: [R-es] Problema con la lectura de datos

>

>

> con as.numeric tampoco me van los cálculos y no conozco otra manera, pues son alrededor de 40 variables las que tiene la tabla.

> To: valeagui en outlook.es<mailto:valeagui en outlook.es>; cof en qualityexcellence.es<mailto:cof en qualityexcellence.es>; r-help-es en r-project.org<mailto:r-help-es en r-project.org>

> From: javier.ruben.marcuzzi en gmail.com<mailto:javier.ruben.marcuzzi en gmail.com>

> Subject: RE: [R-es] Problema con la lectura de datos

> Date: Tue, 10 Nov 2015 16:43:05 -0300

> Estimada Valentina

>

> as.numeric(...)

>

> Mira mi correo (de hace minutos) donde pregunto justo por eso, pero sobre un error.

>

>

> Javier Rubén Marcuzzi

> Técnico en Industrias Lácteas

> Veterinario

>

>

>

> De: Valentina Aguilera

> Enviado: martes, 10 de noviembre de 2015 16:40

> Para: Carlos Ortega;r help

> Asunto: Re: [R-es] Problema con la lectura de datos

>

>

> Hola, sin indicar los tipos de variables si los lee, pero el problema est� en que necesito calcular una matriz de correlaciones y genera el siguiente error:

> Error in cor(Variables) : 'x' must be numeric

>

> Date: Tue, 10 Nov 2015 20:35:40 +0100

> Subject: Re: [R-es] Problema con la lectura de datos

> From: cof en qualityexcellence.es<mailto:cof en qualityexcellence.es>

> To: valeagui en outlook.es<mailto:valeagui en outlook.es>

> CC: r-help-es en r-project.org<mailto:r-help-es en r-project.org>

>

> Hola,

>

> Prueba a leer el fichero sin indicar los tipos de las variables.

>

> Variables <- read.csv("C:/Users/usuario/Documents/variables2.csv", header=TRUE, sep=";", comment.char="" , strip.white=FALSE, dec = ",")

>

> Saludos,

> Carlos Ortega

> www.qualityexcellence.es<http://www.qualityexcellence.es>

>

>

> El 10 de noviembre de 2015, 20:04, Valentina Aguilera <valeagui en outlook.es<mailto:valeagui en outlook.es>> escribi�:

> Hola,

>

> Estoy tratando de leer una base de datos: tengo 39 columnas, de las cuales 38 son variables y una es el nombre de las empresas. Por lo que escribo el siguiente codigo:

>

> Variables <- read.csv("C:/Users/usuario/Documents/variables2.csv", header=TRUE, sep=";", comment.char="" ,                          colClasses=c(Empresas="character", rep("numeric",38)), strip.white=FALSE, dec = ",")

>

> Pero genera este error (y no se a que se deba, esto es, porque necesito calcular la matriz de correlaciones y me dice que los valores no son numericos):

>

> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :   scan() expected 'a real', got 'ND'

>

> Gracias mil.

>

>         [[alternative HTML version deleted]]

>

>

>

> _______________________________________________

>

> R-help-es mailing list

>

> R-help-es en r-project.org<mailto:R-help-es en r-project.org>

>

> https://stat.ethz.ch/mailman/listinfo/r-help-es

>

>

>

> --

> Saludos,

> Carlos Ortega

> www.qualityexcellence.es<http://www.qualityexcellence.es>

>

>                 [[alternative HTML version deleted]]

>

>

>

>

>

>

> _______________________________________________

> R-help-es mailing list

> R-help-es en r-project.org<mailto:R-help-es en r-project.org>

> https://stat.ethz.ch/mailman/listinfo/r-help-es

>

>

>

> --

> Daniel

>

>       [[alternative HTML version deleted]]

>

> _______________________________________________

> R-help-es mailing list

> R-help-es en r-project.org

> https://stat.ethz.ch/mailman/listinfo/r-help-es



        [[alternative HTML version deleted]]



_______________________________________________

R-help-es mailing list

R-help-es en r-project.org

https://stat.ethz.ch/mailman/listinfo/r-help-es

-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
 		 	   		  
	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es