PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GNU R: Funktion für mehrere Variablen



Statist
23-04-2007, 14:00
Hallo,

folgendes Problem.
Ich habe häufiger einen großen Dataframe, von dem ich einige Variablen auswerten möchte.

Folgenden Code habe ich, der aber nicht Funktioniert:

a <- c(1:10)
b <- c(11:20)
c <- c(21:30)
test <- as.data.frame(cbind(a,b,c))



Auto_Auswertung <- function(daten=test, variable=c(a,c))
{
for(i in seq(along =variable))
out <- summary(paste("test$", 'variable[i]', sep=''))
return(out)
}

Problem ist, das es mit dem paste() nicht klappt. Da habe ich auch schon verschiedene Kombinationen mit den ""-Zeichen probiert.
Ziel ist es, einen Output zu bekommen, der mir summary(test$a) und summary(test$b) liefert.
summary(test) will ich vermeiden, da ich meist nur 3-4 Variablen brauche, ich aber in der Datei sehr viele habe.

Hat wer eine Idee? Vermutlich gibt es bereits eine Funktion.

Später will ich das ganze gerne noch ausbauen, mit Abbildungen usw.

Danke für die Hilfe.

Guido

sofa-surfer
24-04-2007, 23:30
Hallo,

ich bin mir nicht ganz sicher, ob ich wirklich verstanden habe, was du eigentlich willst. Aber so ganz spontan würde mir sowas in dieser Richtung einfallen ...



function(daten=test, variable=c("a","c")) {
res<-sapply(variable,function(x){# evtl. auch lapply
out<-summary(daten[x])
})
res
}


EDIT: Wobei ich mich gerad erinnert habe, dass du für diesen Fall nicht mal einen Schleifendurchlauf brauchst. Das gleiche Ergebnis wie oben bekommst du auch einfach mit


variable<-c("a","c")
res<-summary(daten[variable])

Matthias