Datums-Angaben werden beim Laden oft als Faktor interpretiert.
Die Umwandlung in Datums-Format geht leichter, wenn die Feldnamen mit dem Suffix _d enden.
for( x in names(d.set)[ grep( "_d$", names(d.set) ) ] ) {
d.set[,x] <- as.Date( d.set[,x], "%d.%m.%Y" )
}
Mittwoch, 12. November 2008
Freitag, 7. November 2008
Plot-Basics
x.i <- 1:10; y.i <- 1/x.i
plot( y=y.i, x=x.i, cex.axis=0.8, yaxt="n", pch=15, col="red", ylab="", xlab="x-Werte", main="Titel" )
points( y=y.i/2, x=x.i, pch=1:10, col="blue" )
abline( h=seq(0,max(y.i),0.1), col="grey", lty="dotted")
segments( y0=y.i-0.1, y1=y.i+0.1, x0=x.i, x1=x.i )
axis( side=2, at=seq(0,1,0.1), labels=seq(0,1,0.1), cex.axis=0.8, las=2 )
legend( x="topright", inset=0.02, legend=c("y1-Werte", "y2-Werte"), col=c("red","blue"), pch=c(15,1), bg="white", cex=0.8 )
text( x=x.i+0.2, y=y.i, labels=paste("n=",round(y.i,1),sep=""), cex=0.8, adj=0 )
mtext( side=3, at=x.i, line=0.5, text=paste( "x=",x.i, sep=""), cex=0.8 )
savePlot( filename="d:/myplot.png", type="png" )
Montag, 27. Oktober 2008
Faktoren kreuzen
Um ein data.frame mit dem kompletten Satz an Kombinationen von Ausprägungen mehrerer Faktoren zu erzeugen, kann expand.grid(...) verwendet werden.
sex_c <- c("m","w")
reg <- c("ZH","UR","VS","GR")
prod <- c("BASIS","SANA","HUV")
expand.grid(sex_c, reg, prod)
Var1 Var2 Var3
1 m ZH BASIS
2 w ZH BASIS
3 m UR BASIS
4 w UR BASIS
etc.
Um Kombinationen (ohne Beachtung der Reihenfolge) zu betrachten, gibt es die Funktion combn(...).
combn( letters[1:4], 2)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] "a" "a" "a" "b" "b" "c"
[2,] "b" "c" "d" "c" "d" "d"
Zweier Kombinationen können auch schnell gefunden werden mit:
m <- outer(letters[1:5], LETTERS[1:5], paste, sep="-")
m[lower.tri(m)]
Variationen eines Vektors können wie folgt bestimmt werden:
v <- 1:3
x <- expand.grid( v, v, v )
# entferne Zeilen aus x, in denen Elemente mehrfach vorkommen
x <- x[ apply( x, 1, FUN=function(x){ sum(duplicated(x)) } )==0, ]
# .. und sortiere noch sinnvoll
x <- x[ order(x[,1],x[,2],x[,3]), ]
x
Var1 Var2 Var3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
sex_c <- c("m","w")
reg <- c("ZH","UR","VS","GR")
prod <- c("BASIS","SANA","HUV")
expand.grid(sex_c, reg, prod)
Var1 Var2 Var3
1 m ZH BASIS
2 w ZH BASIS
3 m UR BASIS
4 w UR BASIS
etc.
Um Kombinationen (ohne Beachtung der Reihenfolge) zu betrachten, gibt es die Funktion combn(...).
combn( letters[1:4], 2)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] "a" "a" "a" "b" "b" "c"
[2,] "b" "c" "d" "c" "d" "d"
Zweier Kombinationen können auch schnell gefunden werden mit:
m <- outer(letters[1:5], LETTERS[1:5], paste, sep="-")
m[lower.tri(m)]
Variationen eines Vektors können wie folgt bestimmt werden:
v <- 1:3
x <- expand.grid( v, v, v )
# entferne Zeilen aus x, in denen Elemente mehrfach vorkommen
x <- x[ apply( x, 1, FUN=function(x){ sum(duplicated(x)) } )==0, ]
# .. und sortiere noch sinnvoll
x <- x[ order(x[,1],x[,2],x[,3]), ]
x
Var1 Var2 Var3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Abonnieren
Posts (Atom)