Video: Importing/Reading Excel data into R using RStudio (readxl) | R Tutorial 1.5b | MarinStatsLectures 2024
Om du frågar användare av R, hur är det bästa sättet att importera data direkt från Microsoft Excel, de flesta av dem kommer antagligen att svara att ditt bästa alternativ är att först exportera från Excel till en CSV-fil och sedan använda läsning. csv () för att importera dina data till R.
I själva verket är det fortfarande rådet i kapitel 8 i import- och exporthandboken R, som säger "Det första tipset är att undvika att göra det om möjligt! "Anledningen är att många av de befintliga metoderna för att importera data från Excel beror på program från tredje part eller bibliotek som kan vara svåra att konfigurera, inte tillgängliga på alla operativsystem eller kanske har restriktiva licensvillkor.
Men sedan februari 2011 finns ett nytt alternativ: med paketet XLConnect, tillgängligt från CRAN. Vad som gör XLConnect annorlunda är att det använder ett Java-bibliotek för att läsa och skriva Excel-filer. Det har två fördelar:
-
Den körs på alla operativsystem som stöder Java. XLConnect är skrivet i Java och körs på Windows, Linux och Mac OS.
-
Det finns inget annat att ladda. XLConnect kräver inga andra bibliotek eller programvara. Om du har Java installerat, ska det fungera.
XLConnect kan också skriva Excel-filer, inklusive byte av cellformatering, både i Excel 97-2003 och Excel 2007/10.
För att läsa mer om XLConnect kan du läsa den utmärkta paketvignetten.
För närvarande är du noga kliar för att komma igång med ett exempel. Antag att du vill läsa ett Excel-kalkylblad i din användarkatalog med namnet Elements. xlsx. Först, installera och ladda paketet; Skapa sedan ett objekt med filnamnet:
Nu är du redo att läsa ett ark i denna arbetsbok med funktionen readWorksheetFromFile (). Du måste skicka det åtminstone två argument:
file
-
: En teckensträng med en sökväg till en giltig. xls eller. xlsx-fil ark
-
: Endera ett heltal som anger arbetsarkets position (till exempel ark = 1) eller arbetsbladets namn (till exempel ark = "Sheet2") Följande två linjer gör exakt samma sak - de importerar båda data i det första arbetsbladet (kallat Sheet1): >> elementelement <- readWorksheetFromFile (excel. file, sheet = "Sheet1")