Înțelegerea importului și exportului de date în R: Lucrul cu fișiere CSV și Excel

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Introducere

Când învață R, majoritatea oamenilor se concentrează pe funcții, modele și vizualizări. Cu toate acestea, multe probleme din lumea reală încep mult mai devreme – la etapa de import de date — și se încheie mult mai târziu — cu exportarea rezultatelor.

Dacă datele sunt citite incorect, nicio metodă statistică nu poate salva analiza.

În această postare, ne concentrăm pe logica importului și exportului de date în Rfolosind Fișiere CSV și Excel. În loc să memorăm funcții, construim un model mental pentru modul în care R interacționează cu fișierele.

De ce contează importul și exportul de date

Analiza datelor este un flux de lucru:

Data source → Import → Analysis → Results → Export → Sharing

Erorile apar adesea la import etapă:

  • delimitatori greșiți,

  • separatoare zecimale incorecte,

  • căi incorecte ale fișierelor,

  • tipuri de date convertite silențios.

Rezultatul?
Un model care funcționează perfect — pe date greșite.

CSV vs Excel: nu este o competiție

Înainte de a atinge R, ar trebui să clarificăm diferența dintre formatele de fișiere.

Fișiere CSV

  • Fișiere text simplu

  • Ușoare și rapide

  • Suportat universal

  • Un tabel pe fișier

  • Fără formatare, doar date

Exemplu:

total_bill,tip,sex
16.99,1.01,Female

Fișiere Excel

  • Format binar (.xlsx)

  • Poate conține mai multe foi

  • Stocați structura și prezentarea împreună

  • Folosit pe scară largă pentru raportare și partajare

Idee cheie:
CSV este a format de transport de date.
Excel este un format de comunicare.

Director de lucru: unde arată de fapt R

Una dintre cele mai frecvente greșeli pentru începători nu are nimic de-a face cu sintaxa R.

R face nu caută fișiere în întregul computer. Se uită doar în interiorul său directorul de lucru.

Această comandă arată unde caută R în prezent.

Dacă un fișier există pe computer, dar nu în acest director, R se comportă ca și cum fișierul nu ar exista.

Acesta este motivul pentru erori precum:

cannot open the connection

indica de obicei a problema drumuluinu este o problemă de codare.

Setul de date exemplu: tips

Pe parcursul acestei postări, folosim un singur set de date: sfaturi.

  • Date de bacșiș la restaurant

  • Mic și ușor de înțeles

  • Conține variabile numerice și categoriale

  • Ideal pentru demonstrarea logicii de import/export

Sursa datelor:
https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv

Citirea fișierelor CSV: logica de bază

Când R citește un fișier CSV, are nevoie de răspunsuri la patru întrebări:

  1. Cum sunt separate coloanele?

  2. Primul rând este un antet?

  3. Care este separatorul zecimal?

  4. Cum ar trebui interpretat textul?

Aceste răspunsuri sunt oferite prin argumente ale funcției.

read.table(): Fundația

Toate funcțiile de citire CSV din baza R sunt construite pe baza read.table().

tips <- read.table(
  file = "tips.csv",
  header = TRUE,
  sep = ",",
  dec = ".",
  stringsAsFactors = FALSE
)

Înțelegerea acestei funcții înseamnă înțelegerea importului CSV în R.

read.csv() și ipotezele sale

read.csv() este pur și simplu o scurtătură pentru un caz obișnuit:

tips <- read.csv("tips.csv")

Acest lucru funcționează perfect – dacă ipotezele se potrivesc cu fișierul.

Partea periculoasă? R poate să nu arunce o eroare chiar dacă presupunerile sunt greșite.

Cele mai periculoase erori sunt cele silențioase.

read.csv2() și diferențe regionale

În multe seturi de date europene:

total_bill;tip;sex
16,99;1,01;Female

Pentru aceasta structura, read.csv2() este proiectat.

tips2 <- read.csv2("tips_semicolon.csv")

Nuanță importantă:
Chiar dacă zecimale folosesc puncte, read.csv2() poate funcționa în continuare în unele cazuri — dar acest lucru nu este garantat.

Abordarea corectă:

Inspectați întotdeauna structura fișierului înainte de a alege funcția.

Scrierea fișierelor CSV din R

Analiza datelor se termină rareori cu R. Rezultatele sunt partajate ca fișiere.

Se scrie CSV separat prin virgulă

write.csv(tips, "tips_comma.csv", row.names = FALSE)

Scrierea CSV separată prin punct și virgulă

write.csv2(tips, "tips_semicolon.csv", row.names = FALSE)

Alegerea formatului corect depinde de care va citi în continuare dosarul.

De ce avem încă nevoie de Excel

CSV este superior din punct de vedere tehnic din multe puncte de vedere. Cu toate acestea, Excel rămâne dominant în practică.

De ce?

Excel nu este un instrument de analiză, ci el este un instrument puternic de livrare.

Lucrul cu Excel în R: openxlsx

The openxlsx pachetul permite operațiuni Excel fără a necesita Excel în sine.

Scrierea unui fișier Excel simplu

write.xlsx(tips, "tips.xlsx", sheetName = "tips")

Citirea din Excel

tips_excel <- read.xlsx("tips.xlsx", sheet = 1)

Foi multiple: un mini raport

Excel strălucește la organizarea tabelelor aferente.

summary_tips <- aggregate(tip ~ day, data = tips, mean)

wb <- createWorkbook()

addWorksheet(wb, "Raw Data")
writeData(wb, "Raw Data", tips)

addWorksheet(wb, "Summary")
writeData(wb, "Summary", summary_tips)

saveWorkbook(wb, "tips_report.xlsx", overwrite = TRUE)

Un singur dosar.

Vederi multiple.

Structură curată.

Greșeli frecvente de urmărit

Majoritatea erorilor nu sunt cauzate de R, ci de ipoteze:

  • Director de lucru incorect

  • Delimitator greșit (sep)

  • Separator zecimal greșit (dec)

  • Citirea unei foi Excel greșite

  • Suprascrierea fișierelor neintenționat

Un obicei sănătos după fiecare import:

head(data)
str(data)
summary(data)

Gânduri finale

Dacă puteți:

ați depășit deja unul dintre cele mai importante praguri în analiza datelor.

Pentru o discuție complementară, s-ar putea să găsiți și acest articol util:
https://medium.com/p/e730f4a84b3b


Versiune extinsă pe mediu:
https://medium.com/@Fatih.Tuzen/understanding-data-import-and-export-in-r-working-with-csv-and-excel-files-6322e61049b2

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.