Eksportér data frames og matricer
Lad os oprette en data frame manuelt. Den kommer til at indeholde 3 variabler:
## En vektor med tallene 1 til 10
variable1 <- 1:10
## En vektor med 10 tilfældigt genererede værdier
variable2 <- rnorm(10)
## En vektor med 10 bogstaver
variable3 <- c("A", "B", "W", "C", "D", "E", "A", "B", "C", "D")
## Kombinér alle vektorer til en data frame
my_data_frame <- data.frame(variable1, variable2, variable3)
## Se vores data frame
my_data_frame variable1 variable2 variable3
1 1 0.2236806 A
2 2 0.4051425 B
3 3 0.8862467 W
4 4 0.1505596 C
5 5 0.6452608 D
6 6 0.7148596 E
7 7 0.4315247 A
8 8 1.6137024 B
9 9 -0.3816980 C
10 10 0.2302253 DDerefter opretter vi en ny variabel (variable4), som er produktet af variabel1 og variabel2:
my_data_frame$variable4 <- my_data_frame$variable1 * my_data_frame$variable2
## Se vores data frame
my_data_frame variable1 variable2 variable3 variable4
1 1 0.2236806 A 0.2236806
2 2 0.4051425 B 0.8102850
3 3 0.8862467 W 2.6587400
4 4 0.1505596 C 0.6022382
5 5 0.6452608 D 3.2263041
6 6 0.7148596 E 4.2891579
7 7 0.4315247 A 3.0206726
8 8 1.6137024 B 12.9096189
9 9 -0.3816980 C -3.4352823
10 10 0.2302253 D 2.3022534Nu skal vi gemme vores data frame ved at eksportere den til en fil på harddisken. Denne fil skal kunne bruges af andre programmer. Der findes forskellige funktioner til at eksportere data frames og matricer fra R. Vi anbefaler, at funktionerne i pakkerne haven og readr bruges til disse opgaver. Start med at aktivere disse pakker:
library(readr)
library(readxl)
library(haven)Antag, at vi har en data frame eller matrix med objektnavnet mina_data, som vi nu skal eksportere fra R til harddisken. Herunder følger kommandoer til at eksportere filen til de mest almindelige filformater (CSV, TSV, SAS, SPSS, STATA). Den eksporterede fil vil vi give navnet exporterade_data.
## Eksportér til SAS
write_sas(data=mina_data, path='exporterade_data.sas7bdat')
## Eksportér til SAS XPT
write_xpt(data=mina_data, path='exporterade_data.sas7bdat', version = 8, name = NULL)
## Eksportér til STATA
write_dta(data=mina_data, path='exporterade_data.sas7bdat', version = 14)
## Eksportér til SPSS
write_sav(data=mina_data, path='exporterade_data.sas7bdat', compress = FALSE)
## Eksportér til en CSV-fil med komma (,) som separator
write_csv(x=mina_data, file='exporterade_data.csv')
## Eksportér til en CSV-fil med semikolon (;) som separator
write_csv2(x=mina_data, file='exporterade_data.csv')
## Eksportér til en CSV-fil tilpasset Excel, med komma (,) som separator
write_excel_csv(x=mina_data, file='exporterade_data.csv')
## Eksportér til en CSV-fil tilpasset Excel, med semikolon (;) som separator
write_excel_csv2(x=mina_data, file='exporterade_data.csv')
## Eksportér til en TSV-fil (tabulatorsepareret fil)
write_tsv(x=mina_data, file='exporterade_data.csv')Disse funktioner har mange flere argumenter end vist i koden ovenfor. Desuden blev funktionen write_delim(), som bruges, når du selv vil angive skilletegnet (med argumentet delim), ikke demonstreret. Blandt de vigtigere argumenter i disse funktioner er argumentet na=, hvor man kan angive, hvilket tegn (hvis noget) der skal angive manglende data (NA). Dette sættes som regel til NA, medmindre du angiver andet. Et andet vigtigt argument er row.names=, hvor du kan angive TRUE eller FALSE for at specificere, om du vil have data framens rækkenavne skrevet ud som en kolonne i den eksporterede fil.
Hvor gemmes filerne?
I alle ovenstående eksempler gemmes filerne i dit working directory, medmindre du angiver en fuldstændig sti til, hvor filen skal eksporteres. Her følger et eksempel, hvor filerne eksporteres til skrivebordet i stedet for working directory:
write_csv(data=mina_data, path='/Users/Adam/Desktop/exporterade_data.csv')