Lectura de distintos formatos de archivo

Lectura de archivos csv:

datos <- read.csv(file = "../Data/covid_19_clean_complete.csv")
head(datos, n = 3)
tail(datos, n = 10)
str(datos)
names(datos)
nrow(datos)

Escritura de archivos csv:

write.csv(x = datos, file = "../Data/datos.csv", append = FALSE, row.names = FALSE)

Otra función, más general que read.csv es read.table, y más general que write.csv es write.table.

write.table(x = datos, file = "../Data/datos.csv", 
            append = FALSE, 
            row.names = FALSE)

Tarea: Realizar la lectura y escritura, de un archivo local o remoto, para los siguientes formatos: csv, txt, json, xml, xls, xlsx.

Formato csv:

datos_csv<-read.csv("../datosmartha/cares_enquiries_july2021.csv",nrows = 15)
datos_csv
##                       Topic Jul.15 Aug.15 Sep.15 Oct.15 Nov.15 Dec.15 Jan.16
## 1                  Accounts      7      5     10     14      6     15     13
## 2               Air Quality     22     14     29     27     28     24     29
## 3                       CDL     12     20     18     10     25     20      9
## 4       Complaint Follow Up     41     37     54     43     51     34     50
## 5                      Dust      1      2      3      5      9      9      9
## 6              Plastic Bags      0      0      2      1      1      0      0
## 7              Publications      5      9      4      5      4      0      2
## 8                 Section 7     10     12      9      6     14      5      3
## 9        Site Contamination     29     50     55     43     62     27     23
## 10 Waste (Solids & Liquids)     49     48     34     65     45     59     53
## 11              Waste water      6      9      8      7      4      6      7
## 12                    Water     26     18      9     17     20     15     17
## 13        Enquiry Follow Up     39     33     32     32     47     40     20
## 14                      FOI      5      5      2      2      4      3      1
## 15                Licensing     97    159    106    162    111    122    118
##    Feb.16 Mar.16 Apr.16 May.16 Jun.16 Total
## 1      13      6     13     17     13   132
## 2      24     14     24     24     35   294
## 3      14     12      8      9      7   164
## 4      60     71     40     48     40   569
## 5       7      8      5      6      5    69
## 6       0      0      2      1      1     8
## 7       3      3      1      3      4    43
## 8       5      9     10      9      7    99
## 9      49     32     31     34     30   465
## 10     57     88     48     67     60   673
## 11      5     12      8      4      6    82
## 12     24     30     30     20     13   239
## 13     37     31     39     25     28   403
## 14      5      8      2      8      3    48
## 15    125    123    128    172    155  1578

Formato xml:

library(XML)
library(methods)
datos_xml<-xmlToDataFrame("../datosmartha/blocklist.xml")
print(datos_xml)
##   ID     NAME SALARY  STARTDATE       DEPT
## 1  1     Rick  623.3   1/1/2012         IT
## 2  2      Dan  515.2  9/23/2013 Operations
## 3  3 Michelle    611 11/15/2014         IT
## 4  4     Ryan    729  5/11/2014         HR
## 5  5     Gary 843.25  3/27/2015    Finance
## 6  6     Nina    578  5/21/2013         IT
## 7  7    Simon  632.8  7/30/2013 Operations
## 8  8     Guru  722.5  6/17/2014    Finance

Formato txt:

datos_txt <-read.table(file="../datosmartha/Sonora.txt", header= TRUE, sep="|", nrows = 15)

print(datos_txt)
##    d_codigo                    d_asenta   d_tipo_asenta    D_mnpio d_estado
## 1     83000           Hermosillo Centro         Colonia Hermosillo   Sonora
## 2     83010                   5 de Mayo         Colonia Hermosillo   Sonora
## 3     83010                Country Club         Colonia Hermosillo   Sonora
## 4     83010                 Lomas Pitic         Colonia Hermosillo   Sonora
## 5     83010 Mediterr\xe1neo Residencial         Colonia Hermosillo   Sonora
## 6     83010          Cerrada el Encanto Fraccionamiento Hermosillo   Sonora
## 7     83010               Los Igualados         Colonia Hermosillo   Sonora
## 8     83010       Los Altos Residencial Fraccionamiento Hermosillo   Sonora
## 9     83010    Country Club Residencial Fraccionamiento Hermosillo   Sonora
## 10    83013                       PEMEX         Colonia Hermosillo   Sonora
## 11    83013              Ferrocarrilera         Colonia Hermosillo   Sonora
## 12    83015  Rinconada de Nuevo Le\xf3n         Colonia Hermosillo   Sonora
## 13    83016              Cruz G\xe1lvez         Colonia Hermosillo   Sonora
## 14    83020                    Amapolas         Colonia Hermosillo   Sonora
## 15    83029                    Metalera         Colonia Hermosillo   Sonora
##      d_ciudad  d_CP c_estado c_oficina c_tipo_asenta c_mnpio id_asenta_cpcons
## 1  Hermosillo 83191       26     83191             9      30                1
## 2  Hermosillo 83191       26     83191             9      30                8
## 3  Hermosillo 83191       26     83191             9      30                9
## 4  Hermosillo 83191       26     83191             9      30               10
## 5  Hermosillo 83191       26     83191             9      30             1705
## 6  Hermosillo 83191       26     83191            21      30             2757
## 7  Hermosillo 83191       26     83191             9      30             2776
## 8  Hermosillo 83191       26     83191            21      30             3019
## 9  Hermosillo 83191       26     83191            21      30             3156
## 10 Hermosillo 83191       26     83191             9      30             2111
## 11 Hermosillo 83191       26     83191             9      30             2115
## 12 Hermosillo 83191       26     83191             9      30               11
## 13 Hermosillo 83191       26     83191             9      30               12
## 14 Hermosillo 83191       26     83191             9      30               14
## 15 Hermosillo 83191       26     83191             9      30               15
##    d_zona c_cve_ciudad c_CP
## 1  Urbano            7   NA
## 2  Urbano            7   NA
## 3  Urbano            7   NA
## 4  Urbano            7   NA
## 5  Urbano            7   NA
## 6  Urbano            7   NA
## 7  Urbano            7   NA
## 8  Urbano            7   NA
## 9  Urbano            7   NA
## 10 Urbano            7   NA
## 11 Urbano            7   NA
## 12 Urbano            7   NA
## 13 Urbano            7   NA
## 14 Urbano            7   NA
## 15 Urbano            7   NA

Formato xls:

library(readxl)
datos_xls<-read_excel("../datosmartha/Durango.xls", range="A1:O45")
print(datos_xls)
## # A tibble: 44 × 15
##    d_codigo d_asenta    d_tipo_asenta  D_mnpio d_estado d_ciudad  d_CP  c_estado
##    <chr>    <chr>       <chr>          <chr>   <chr>    <chr>     <chr> <chr>   
##  1 34000    Victoria d… Colonia        Durango Durango  Victoria… 34271 10      
##  2 34000    Dionisio G… Colonia        Durango Durango  Victoria… 34271 10      
##  3 34000    Luis Gómez… Colonia        Durango Durango  Victoria… 34271 10      
##  4 34000    Rinconada … Fraccionamien… Durango Durango  Victoria… 34271 10      
##  5 34000    Herrera Le… Fraccionamien… Durango Durango  Victoria… 34271 10      
##  6 34000    Privada de… Fraccionamien… Durango Durango  Victoria… 34271 10      
##  7 34010    Héctor May… Colonia        Durango Durango  Victoria… 34271 10      
##  8 34010    José López… Colonia        Durango Durango  Victoria… 34271 10      
##  9 34010    Morga       Colonia        Durango Durango  Victoria… 34271 10      
## 10 34010    Valentín G… Colonia        Durango Durango  Victoria… 34271 10      
## # … with 34 more rows, and 7 more variables: c_oficina <chr>, c_CP <lgl>,
## #   c_tipo_asenta <chr>, c_mnpio <chr>, id_asenta_cpcons <chr>, d_zona <chr>,
## #   c_cve_ciudad <chr>

Formato xlsx:

library(xlsx)
datos_xlsx<-read_xlsx("../datosmartha/water-quality-performance-results-july-2021.xlsx", range="A1:K30")
datos_xlsx
## # A tibble: 29 × 11
##    `Region Name` `System Name` Parameter Units `Health Guideli… `Aesthetic Guid…
##    <chr>         <chr>         <chr>     <chr> <chr>            <chr>           
##  1 Eyre          Coffin Bay    Alkalini… mg/L  NG               NG              
##  2 Eyre          Coffin Bay    Aluminiu… mg/L  NG               ≤ 0.2           
##  3 Eyre          Coffin Bay    Antimony  mg/L  ≤ 0.003          NG              
##  4 Eyre          Coffin Bay    Arsenic   mg/L  ≤ 0.01           NG              
##  5 Eyre          Coffin Bay    Barium    mg/L  ≤ 2              NG              
##  6 Eyre          Coffin Bay    Beryllium mg/L  ≤ 0.06           NG              
##  7 Eyre          Coffin Bay    Bicarbon… mg/L  NG               NG              
##  8 Eyre          Coffin Bay    Boron     mg/L  ≤ 4              NG              
##  9 Eyre          Coffin Bay    Cadmium   mg/L  ≤ 0.002          NG              
## 10 Eyre          Coffin Bay    Calcium   mg/L  NG               NG              
## # … with 19 more rows, and 5 more variables: Average Value <chr>,
## #   Health Compliance # <chr>, Disinfection <chr>, End Date <chr>,
## #   Comment <lgl>

Formato json:

library(jsonlite)
datos_json<-fromJSON("../datosmartha/Indian_Number_plates.json")
datos_json

Presentación en tablas de datos

La librería kableExtra:

library(kableExtra)

Uso de la función kbl():

kable_styling(kbl(head(datos, n = 15)), bootstrap_options = c("striped", "hover", "condensed"))