Eksportere data frames og matriser
La oss lage en data frame manuelt. Den kommer til å inneholde 3 variabler:
## En vektor med tallene 1 til 10
variable1 <- 1:10
## En vektor med 10 tilfeldig genererte verdier
variable2 <- rnorm(10)
## En vektor med 10 bokstaver
variable3 <- c("A", "B", "W", "C", "D", "E", "A", "B", "C", "D")
## Kombiner alle vektorene til en data frame
my_data_frame <- data.frame(variable1, variable2, variable3)
## Se vår 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 DDeretter lager vi en ny variabel (variable4) som er produktet av variabel1 og variabel2:
my_data_frame$variable4 <- my_data_frame$variable1 * my_data_frame$variable2
## Se vår 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.3022534Nå skal vi lagre data framen vår ved å eksportere den til en fil på harddisken. Denne filen skal kunne brukes av andre programmer. Det finnes ulike funksjoner for å eksportere data frames og matriser fra R. Vi anbefaler at funksjonene i pakkene haven og readr brukes til disse oppgavene. Begynn med å aktivere disse pakkene:
library(readr)
library(readxl)
library(haven)Anta at vi har en data frame eller matrise med objektnavnet mina_data som vi nå skal eksportere fra R til harddisken. Nedenfor følger kommandoer for å eksportere filen til de vanligste filformatene (CSV, TSV, SAS, SPSS, STATA). Den eksporterte filen kaller vi exporterade_data.
## Eksporter til SAS
write_sas(data=mina_data, path='exporterade_data.sas7bdat')
## Eksporter til SAS XPT
write_xpt(data=mina_data, path='exporterade_data.sas7bdat', version = 8, name = NULL)
## Eksporter til STATA
write_dta(data=mina_data, path='exporterade_data.sas7bdat', version = 14)
## Eksporter til SPSS
write_sav(data=mina_data, path='exporterade_data.sas7bdat', compress = FALSE)
## Eksporter til en CSV-fil med komma (,) som skilletegn
write_csv(x=mina_data, file='exporterade_data.csv')
## Eksporter til en CSV-fil med semikolon (;) som skilletegn
write_csv2(x=mina_data, file='exporterade_data.csv')
## Eksporter til en CSV-fil tilpasset Excel, med komma (,) som skilletegn
write_excel_csv(x=mina_data, file='exporterade_data.csv')
## Eksporter til en CSV-fil tilpasset Excel, med semikolon (;) som skilletegn
write_excel_csv2(x=mina_data, file='exporterade_data.csv')
## Eksporter til en TSV-fil (tabulatorseparert fil)
write_tsv(x=mina_data, file='exporterade_data.csv')Disse funksjonene har mange flere argumenter enn det som er vist i koden ovenfor. Dessuten ble funksjonen write_delim(), som brukes når du selv vil angi skilletegnet (med argumentet delim), ikke demonstrert. Blant de viktigere argumentene i disse funksjonene er argumentet na=, der man kan angi hvilket tegn (om noe) som skal indikere manglende data (NA). Dette settes som regel til NA hvis du ikke angir noe annet. Et annet viktig argument er row.names=, der du kan angi TRUE eller FALSE for å bestemme om du vil at radnavnene i data framen skal skrives ut som en kolonne i den eksporterte filen.
Hvor lagres filene?
I alle eksemplene ovenfor lagres filene i din working directory, med mindre du angir en fullstendig filsti dit filen skal eksporteres. Her følger et eksempel der filene eksporteres til skrivebordet i stedet for til working directory:
write_csv(data=mina_data, path='/Users/Adam/Desktop/exporterade_data.csv')