Sunday, November 28, 2010

Thursday, November 25, 2010

add axis break

i have done it with the plotrix package.

First plot the graph. Then you can add the breaks with axis.break(axis, breakpos,style). There are some more parameters, check out ?break.axis.

Here is my example:
pdf("WHRboys.pdf")
qtplot(fitwhrm, per = c(3,10,25,50,75,90,97), pcol = 1, ylab = "WHR", xlab="Age (years)", pcex = 0.25, pch = 15, lwd = 2, tadj = 1, label = T, lcol.arg=colors, tcol=colors)
axis.break(1,7.7, style="slash", brw=0.012)
axis.break(2,0.643, style="slash", brw=0.012)
dev.off()

install local R package

The day started again with proxy trouble... So I have to install the packages locally, not a problem....:

install.packages(pkgs="path/package", lib="lib")

Wednesday, November 17, 2010

Missing Data und Objekttypen

Here we are:
NA - "not available". Aber sollte es so einfach sein?! Natürlich nicht. Für jeden basalen Datentypen gibt es ein extra NA...
typeof(NA), typof(as.integer(NA)) etc., der string "NA" ist (natürlich) nicht NA. Zur Überprüfung des ganzen steht is.na() zur Verfügung.

Was ganz anderes ist NaN - NaN is "not a number" und steht für das nicht abschätzbare. Addiere ich etwas unendlich großes (in R: Inf) zu etwas ähnlich großen (nur mit negativem Vorzeichen, also -Inf), kann ich über das Ergebnis erstmal wenig sagen - es ist also NaN.

vector:
Länge ist beliebig (kann auch 0 sein - und nach oben natürlich begrenzt, abhängig vom Speicher)
enthält Elemente vom selben Typ
basis vector types: logical, integer, real, complex, string, raw

> x = 1:10
> mode(x)
[1] "numeric"
> storage.mode(x)
[1] "integer"
> typeof(x)
[1] "integer"

Außerdem stehen Funktionen zur Verfügung, die prüfen, ob ein Vektor einer der Basistypen ist, und Wahrheitswerte zurückliefern:
is.integer(x)
is.character(x)
is.double(x)
is.numeric(x)