Deskriptiva analyser i R

Kodexempel i R

Testa göra deskriptiva analyser i R genom att kopiera nedanstående kod till R Studio. Grön text är kommentarer.

Inledande exempel med R’s basfunktioner

# str redovisar strukturen i ett objekt str(mtcars)

# head visar de första raderna i en tabell. Argumentet n anger hur många rader som skall visas

head(mtcars, n=20)

# tail visar de sista raderna i en tabell tail(mtcars)

# För att se själva tabellen använder man View

View(mtcars)

# Medelvärde, standard deviation, median och interkvartilavstånd

mean(mtcars$mpg)

sd(mtcars$mpg)

median(mtcars$mpg)

IQR(mtcars$mpg)

# summary är en enkel funktion som ger en sammanfattning av alla variabler

summary(mtcars)

# Histogram och boxplot för variabeln wt som finns i tabellen mtcars

hist(mtcars$wt)

boxplot(mtcars$wt)

Exempel med paketet mlbench

# Installera paketet

install.packages("mlbench")

# Aktivera paketet

library(mlbench)

# Ladda tabellen "PimaIndiansDiabetes"

data("PimaIndiansDiabetes")

# Skapa en kopia av tabellen. Kopian kallas "pid"

pid <- PimaIndiansDiabetes

head(pid)

View(pid)

# "names" redovisar alla variabler som finns i filen

names(pid)

mean(pid$glucose)

sd(pid$glucose)

Exempel med paketet psych

install.packages("psych")

library(psych)

describe(pid)

# "class" redovisar datatyp. Här undersöks variabeln diabetes, för att undersöka vilken typ av variabel den är

class(pid$diabetes)

# "class" kan även redovisa vilken typ av objekt det är

class(pid)

str(pid)

# "sapply" genomför en operation på samtliga kolumner i en tabell. Här undersöks vilken klass kolumnerna i "pid"

sapply(pid, class)

Skapa baseline-tabell (baslinje)

Den här tabellen ingår i de allra flesta kliniska studier. Den används för att beskriva studiepopulationen, varesig det rör sig om celler, bakterier eller människor.

# Installera och aktivera paketet

install.packages("tableone")

library(tableone)

# Ange vilka variabler du vill ha med i baslinjen

variabler <- c("age", "sex", "ascites", "hepato", "spiders", "edema", "bili", "chol", "albumin", "stage")

# Ange vilka av dessa variabler som är faktorer

faktorer <- c("stage", "trt")

# Skapa tabellen (här används data från tabellen "pbc")

baselinetab <- CreateTableOne(vars = variabler, factorVars = faktorer, data=pbc)

# Se tabellen
View(print(baselinetab))

# Gör om samma tabell, fast nu uppdelad på män och kvinnor med "strata" funktionen

min_tabell_2 <- CreateTableOne(vars = variabler, factorVars = faktorer, strata="sex", data=pbc)

# Skriv tabellen till CSV-fil, som kan öppnas i excel, och därifrån kopieras till Word eller annan ordbehandlare

write.csv2(baselinetab2, file="/Users/Thomas/Desktop/Mintabell.csv")

Vi rekommenderar även paketet “moonBook” för att skapa baseline och liknande tabeller.

Exempel med paketet sjPlot

Detta paketet är mer grafiskt än föregående.

install.packages("sjPlot")

library(sjPlot)

# Korstabell mellan "stage" och "sex"

sjp.xtab(pbc$stage, pbc$sex)

# Frekvenstabell

sjp.frq(pbc$age, type = "box")

# Scatterplot

sjp.scatter(pbc$age, pbc$albumin)

sjp.scatter(pbc$age, pbc$albumin, pbc$trt, show.rug = TRUE)

sjp.scatter(pbc$age, pbc$albumin, pbc$trt, fit.line.grps = TRUE)