Datentypen in R
R verfügt über eine Vielzahl von Datentypen, darunter Skalare, Vektoren (numerisch, zeichenweise, logisch), Matrizen, Datenrahmen und Listen.
Vektoren
a <- c(1,2,5.3,6,-2,4) # numeric vector
b <- c("one","two","three") # character vector
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #logical vector
Bezeichne die Elemente eines Vektors mit tiefgestellten Buchstaben.
a[c(2,4)] # 2nd and 4th elements of vector
Matrizen
Alle Spalten in einer Matrix müssen denselben Modus (numerisch, zeichenweise usw.) und dieselbe Länge haben. Das allgemeine Format ist
mymatrix <- matrix(vector, nrow= r, ncol= c, byrow= FALSE, dimnames=list( char_vector_rownames, char_vector_colnames))
byrow=TRUE gibt an, dass die Matrix mit Zeilen gefüllt werden soll. byrow=FALSE gibt an, dass die Matrix mit Spalten gefüllt werden soll (Standardeinstellung). dimnames liefert optionale Bezeichnungen für die Spalten und Zeilen.
# generates 5 x 4 numeric matrix
y<-matrix(1:20, nrow=5,ncol=4)
# another example
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
dimnames=list(rnames, cnames))
Identifiziere Zeilen, Spalten oder Elemente mit tiefgestellten Buchstaben.
x[,4] # 4th column of matrix
x[3,] # 3rd row of matrix
x[2:4,1:3] # rows 2,3,4 of columns 1,2,3
Arrays
Arrays sind ähnlich wie Matrizen, können aber mehr als zwei Dimensionen haben. Siehe help(array) für Details.
Datenrahmen
Ein Datenrahmen ist allgemeiner als eine Matrix, da verschiedene Spalten unterschiedliche Modi haben können (numerisch, Zeichen, Faktor, etc.). Das ist ähnlich wie bei SAS- und SPSS-Datensätzen.
d <- c(1,2,3,4)
e <- c("red", "white", "red", NA)
f <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(d,e,f)
names(mydata) <- c("ID","Color","Passed") # variable names
Es gibt eine Reihe von Möglichkeiten, die Elemente eines Datenrahmens zu identifizieren.
myframe[3:5] # columns 3,4,5 of data frame
myframe[c("ID","Age")] # columns ID and Age from data frame
myframe$X1 # variable x1 in the data frame
Listen
Eine geordnete Sammlung von Objekten (Komponenten). Eine Liste ermöglicht es dir, eine Vielzahl von (möglicherweise nicht zusammenhängenden) Objekten unter einem Namen zu sammeln.
# example of a list with 4 components -
# a string, a numeric vector, a matrix, and a scaler
w <- list(name="Fred", mynumbers=a, mymatrix=y, age=5.3)
# example of a list containing two lists
v <- c(list1,list2)
Identifiziere die Elemente einer Liste mit der [[]]-Konvention.
mylist[[2]] # 2nd component of the list
mylist[["mynumbers"]] # component named mynumbers in list
Faktoren
Sage R, dass eine Variable nominal ist, indem du sie zu einem Faktor machst. Der Faktor speichert die Nennwerte als Vektor von Ganzzahlen im Bereich [1... k] (wobei k die Anzahl der eindeutigen Werte in der Nennvariablen ist) und einen internen Vektor von Zeichenketten (die ursprünglichen Werte), die diesen Ganzzahlen zugeordnet sind.
# variable gender with 20 "male" entries and
# 30 "female" entries
gender <- c(rep("male",20), rep("female", 30))
gender <- factor(gender)
# stores gender as 20 1s and 30 2s and associates
# 1=female, 2=male internally (alphabetically)
# R now treats gender as a nominal variable
summary(gender)
Ein geordneter Faktor wird verwendet, um eine ordinale Variable darzustellen.
# variable rating coded as "large", "medium", "small'
rating <- ordered(rating)
# recodes rating to 1,2,3 and associates
# 1=large, 2=medium, 3=small internally
# R now treats rating as ordinal
R behandelt Faktoren als nominale Variablen und geordnete Faktoren als ordinale Variablen in statistischen Verfahren und grafischen Analysen. Du kannst Optionen in den Funktionen factor( ) und ordered( ) verwenden, um die Zuordnung von ganzen Zahlen zu Zeichenketten zu steuern (und damit die alphabetische Reihenfolge zu umgehen). Du kannst auch Faktoren verwenden, um Wertmarken zu erstellen.
Nützliche Funktionen
length(object) # number of elements or components
str(object) # structure of an object
class(object) # class or type of an object
names(object) # names
c(object,object,...) # combine objects into a vector
cbind(object, object, ...) # combine objects as columns
rbind(object, object, ...) # combine objects as rows
object # prints the object
ls() # list current objects
rm(object) # delete an object
newobject <- edit(object) # edit copy and save as newobject
fix(object) # edit in place
Zum Üben
Um Datentypen in R kennenzulernen, probiere diesen kostenlosen interaktiven Kurs zur Einführung in R aus