Video: Data Analysis in R by Dustin Tran 2024
Soms wilt u misschien een script schrijven in R dat een bepaalde map doorloopt en acties uitvoert op alle gegevens in de bestanden of een subset van bestanden in die map.
Gebruik lijst om een lijst met bestanden in een specifieke map te krijgen. bestanden () of dir (). Deze twee functies doen precies hetzelfde, maar om redenen van achterwaartse compatibiliteit heeft dezelfde functie twee namen: >> lijst. bestanden (bestand pad ("F:", "git", "roxygen2")) [1] "roxygen2" "roxygen2." Controleren "[3]" roxygen2_2. 0. tar. gz "" roxygen2_2. gz "
Functie
Beschrijving | Iist. bestanden |
---|---|
Geeft een lijst van bestanden in een map. | lijst. mappen |
Geeft een lijst van submappen van een map. | file. bestaat |
Test of een specifiek bestand op een locatie bestaat. | file. create |
Creëert een bestand. | file. verwijder |
Verwijdert bestanden (en mappen in Unix-besturingssystemen). | tempfile |
Retourneert een naam voor een tijdelijk bestand. Als u een bestand | maakt, bijvoorbeeld met een bestand. create ()
of schrijf. table () met deze geretourneerde naam - R maakt een bestand in een tijdelijke map. tempdir |
Retourneert het bestandspad van een tijdelijke map op uw bestand | -systeem.
|
Begin met behulp van de functie tempfile () om een naam terug te geven aan een tekenreeks met de naam van een bestand in een tijdelijke map op uw systeem:
Zoals u kunt zien, heeft R het bestand gemaakt. Nu kunt u lezen gebruiken. csv () om de gegevens te importeren naar een nieuwe variabele genaamd bestand. iris:
Gebruik str () om de structuur van een bestand te onderzoeken. iris. Zoals verwacht bestand. iris is een gegeven. frame van 150 waarnemingen en zes variabelen. Zes variabelen, zegt u? Ja, zes, hoewel de originele iris slechts vijf kolommen heeft.
Wat hier gebeurde, was de standaardwaarde van de argumentrij. namen van lezen. csv () is rij.names = TRUE. (U kunt dit bevestigen door de Help van? Lees. Csv () te bekijken.) Dus, R bewaarde de oorspronkelijke rijnamen van iris in een nieuwe kolom met de naam X: >> str (bestand, iris) ' gegevens. frame ': 150 obs. van 6 variabelen: $ X: int 1 2 3 4 5 6 7 8 9 10 … $ Sepal. Lengte: num 5. 1 4. 9 4. 7 4. 6 5 5. 4 4. 6 5 4. 4 4. 9 … $ Sepal. Breedte: num 3. 5 3 3. 2 3. 1 3. 6 3. 9 3. 4 3. 4 2. 9 3. 1 … $ Bloemblaadje. Lengte: aantal 1. 4 1. 4 1. 3 1. 5 1. 4 1. 7 1. 4 1. 5 1. 4 1. 5 … $ Bloemblaadje. Breedte: aantal 0. 2 0. 2 0. 2 0. 2 0. 2 0. 4 0. 3 0. 2 0. 2 0. 1 … $ Soort: factor met 3 niveaus "setosa", "versicolor", …: 1 1 1 1 1 1 1 1 1 1 …
Als u uw bestandssysteem in de oorspronkelijke volgorde wilt achterlaten, kunt u het bestand gebruiken. verwijder () om het tijdelijke bestand te verwijderen:>> bestand. verwijder (mijn. bestand)> lijst. bestanden (tempdir ()) teken (0)
Zoals u kunt zien, is het resultaat van de lijst. bestanden () is een lege tekenreeks, omdat het bestand niet langer bestaat in die map.