Inleiding Programmeren + R

File wegschrijven

» Start

Hoe schrijf ik het resultaat van R-commando's naar een file?

    

Met behulp van het commando sink kan het resultaat van berekeningen naar een file worden geschreven. 


Eerst wat data binnen halen om te kunnen bewerken:

> # lees een dataframe in.

> cohort <- read.table("gegevens.txt", header=T)

> # maak de namen in de eerste rij van cohort beschikbaar als namen van

> # variabelen met bijbehorende inhoud (kolommen van dataframe)

> attach(cohort).

> # en laat zien om welke variabelen het gaat.

> names(cohort) 

En dan nu een analyse uitvoeren en de resultaten naar een file wegschrijven: 

> # bereken summary statistics en ... 

> # schrijf het resultaat naar een file met de naam summary.out

> # open eerst de file waar de output naar toe moet worden geschreven.

> sink("summary.out")

> # bereken summary statistics van de variabelen in dataframe cohort.

> summary(cohort)

> # sluit de file waar de output naar toe is geschreven.

> sink()

Met sink kun je dus de output van een reeks van commando's opvangen en naar een file laten schrijven. Met de functie dump kun je de inhoud van 1 variabele naar een file wegschrijven. Bijvoorbeeld zo:


> sumco <- summary(cohort)

> dump("sumco", file="summary.txt")


Het resultaat van dump is een file die je, mocht je hem in een volgende sessie weer nodig hebben, met het commando source in kunt lezen in het geheugen van R, en die de variabele die je in die file hebt bewaard [in dit geval sumco] weer teruggeeft.

    

    source("summary.txt")

        

Er is nog een manier om het resultaat van berekeningen naar een file te schrijven. Die werkt met behulp van de functie write.table. Deze functie werkt op dataframes :

> samenv <- summary(cohort)

> write.table(samenv, file="samen.txt")

> dir()

[1] "R Console.txt" "gegevens.txt" "gegevens.xls" "samen.txt" "summary.out"  

Als je een matrix of vector weg wilt schrijven naar file dan kun je de functie write gebruiken. 

Het resultaat van al deze functies is een zg platte tekstfile; een tekst in zg ASCII format.


Gegevens kunnen ook naar file worden geschreven in het eigen format van R, het zg XDR format. Om files in dit format te saven moet de functie save worden gebruikt:

> save (lichaam, file="lichaam.RData")

Deze data kunnen op later tijdstip weer ingelezen worden in het geheugen van R door middel van de functie load:

> load("lichaam.RData")