Sådan at læse data fra Excel i R

Hvis du spørger brugere af R, hvad den bedste måde er at importere data direkte fra Microsoft Excel, vil de fleste af dem formentlig svare, at din bedste mulighed er at første eksport fra Excel til en CSV-fil og derefter bruge read.csv () for at importere dine data til R.

Faktisk er det stadig den kapitel 8. R import og eksport manual, som siger, "Det første råd er at undgå at gøre det hvis det er muligt!" Årsagen er, at mange af de eksisterende metoder til at importere data fra Excel afhænge tredjeparts software eller biblioteker, der kan være svært at konfigurere, ikke er tilgængelig på alle operativsystemer, eller måske har restriktive licensbetingelser.

Men siden februar 2011 er der et nyt alternativ: hjælp pakken XLConnect, tilgængelig fra KRAN. Hvad gør XLConnect anderledes, er, at det bruger en Java bibliotek til at læse og skrive Excel-filer. Dette har to fordele:

  • Det kører på alle operativsystemer, der understøtter Java. XLConnect er skrevet i Java og kører på Window, Linux og Mac OS.
  • Der er ikke andet at indlæse. XLConnect kræver ingen andre biblioteker eller software. Hvis du har Java installeret, skal det arbejde.

XLConnect også kan skrive Excel-filer, herunder skiftende celleformatering, både Excel 97-2003 og Excel 2007/10 formater.

For at finde ud af mere om XLConnect, kan du læse den fremragende pakke vignet.

Ved nu du sikkert kløe til at komme i gang med et eksempel. Antag at du vil læse et Excel-regneark i din bruger mappe kaldet Elements.xlsx. Først skal du installere og indlæse pakken; derefter oprette et objekt med filnavnet:

> Install.packages ("XLConnect")
> Bibliotek ("XLConnect")
> Excel.file <- file.path ("~ / Elements.xlsx")

Nu er du klar til at læse et ark denne projektmappe med readWorksheetFromFile () funktion. Du er nødt til at passere det mindst to argumenter:

  • fil: tegnstreng med en sti til en gyldig .xls eller .xlsx fil
  • ark: Enten et helt tal, der angiver placeringen af regnearket (fx ark = 1) eller navnet på regnearket (fx ark = "Ark2")

Følgende to linjer gør præcis det samme - de begge importere dataene i første regneark (kaldet Ark1):

> Elementer <- readWorksheetFromFile (excel.file, ark = 1)
> Elementer <- readWorksheetFromFile (excel.file, ark = "Ark1")


© 2019 Zajacperrone.com | Contact us: webmaster# zajacperrone.com