[R-es] Problema con la lectura de datos

Bartolomé Marcos, José Antonio josea.bartolome en mineco.es
Mie Nov 11 15:22:23 CET 2015


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]]



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