Diskussion:GNU R: Umgang mit Datensätzen (Erstellen, Auswählen und Filtern)

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Lieber Leser[Bearbeiten]

War dieses Kapitel hilfreich beim Erlernen des Prinzips der Referenzierung / Filterung von Datensätzen?

War es zu ausführlich? Was war unverständlich? Europol 23:53, 29. Mai 2007 (CEST)


syntax error[Bearbeiten]

Hi, die Befehlszeile

meinedaten <- structure(list(Name = structure(c(2L, 1L, 4L, 3L, 5L), .Label = c("Caro", "Hans", "Ines", "Lars", "Samira"), class = "factor"), Geschlecht = structure(c( 2L, 3L, 1L, 3L, 3L), .Label = c("intersexuell", "maennlich", "weiblich"), class = "factor"), Lieblingsfarbe = structure(c(3L, 1L, 2L, 4L, 2L), .Label = c("blau", "gelb" , "gruen", "schwarz"), class = "factor"), Einkommen = c(1233L, 800L, 2400L, 4000L, 899L)), .Names = c("Name", "Geschlecht", "Lieblingsfarbe", "Einkommen"), class = "data.frame", row.names = c(NA, -5L))

erzeugt bei mir nen "Synatx Error".... --Herr Produnis 15:01, 11. Mai 2007 (CEST)


Hallo Produnis, habe gerade erst Deinen Fehlerbericht gesehen. Ist mit der Korrektur vom 12.5. alles in Ordnung oder machen noch Formatierungen , Leerzeichen etc. Probleme. Grüsse Europol

Super Idee mit den Übungsaufgaben!! --Herr Produnis 10:11, 30. Mai 2007 (CEST)

Aber evtl. sollten wir überlegen, ob wir die Aufgaben und Antworten nicht in einem seperatem Kapitl sammeln sollten...?! --Herr Produnis 10:14, 30. Mai 2007 (CEST)
Danke. Ja, ich denke auch. Ich ändere den Namen entsprechend. Wir können ja mit Ankern arbeiten. Europol 22:27, 30. Mai 2007 (CEST)


Sortieren[Bearbeiten]

Ich würde gerne wissen, wie man die Fälle sortieren kann. Ausgehend von dem Beispiel würde mich z.B. interessieren, wie der Befehl lautet, der mir die Daten (und zwar alle Spalten) so sortiert, dass sie nach Einkommen geordnet ausgegeben werden. --Herr Produnis 21:26, 7. Jun. 2007 (CEST)

Hallo Produnis, der Befehl ist:
meinedaten[order(meinedaten$Einkommen),]
Ich baue es bei Gelegenheit ein. LG Europol 01:27, 8. Jun. 2007 (CEST)
Ah... ok, danke,.. und ist es evtl. möglich, mehrere Sortier-Optionen anzugeben? Also z.b. "Sortiere zunächst nach Einkommen, und falls das Einkommen in mehreren Fällen das selbe ist, dann sortiere dort weiter nach Grösse, und falls dann immernoch gleiche Fälle existieren, dann sortiere dort nochmals nach Namen"... verstehst du, wie ich das meine?.. beste Grüße, --Herr Produnis 10:50, 8. Jun. 2007 (CEST)
Das gibt der Partial Parameter her, der eine nachgeordneten Indexvektor mit Sortierungsreihenfolge erwartet:
meinedaten[order(meinedaten$Geschlecht,partial=order(meinedaten$Einkommen)),]
Vielen Dank für die Antwort!! Kann man denn auch mehrere Partial-Parameter hintereinanderhängen, oder ist nach einmal Schluss? --Herr Produnis 17:24, 8. Jun. 2007 (CEST)
Hmnmm.. habs grad mal probiert... irgendwie ignoriert der bei mir den partial-Parameter.. auch ein "decreasing=TRUE" bzw. "FALSE" ändert nichts an der Sortierung... Ich schreib nämlich grade ne Funktion für den Bundesliga-Dataset, welche die Tabellen pro Spieltag ausgibt... Und da möchte ich erst nach Punkten, und danach nach Tordifferenz sortieren lassen... der Befehl sieht so aus:
Tabelle <- Tabelle[order(Tabelle$Punkte,decreasing=TRUE,partial=order(Tabelle$Diff,decreasing=TRUE)),]
Das Sortieren nach Punkten macht er, aber wenn 2 Mannschaften die selben Punkte haben, haut er sie nicht nach Differenz sortiert raus... müüüp ;( --Herr Produnis 23:13, 8. Jun. 2007 (CEST)

Zeilen und Spalten vertauschen[Bearbeiten]

Ach ja, eine Frage hätt ich noch: wie kann man Zeilen und Spalten eines Datenframes vertauschen... Also so, dass die Zeilen als Spalten, und die Spalten als Zeilen angegeben werden.. Hab hier diverse Sachen ausprobiert, aber nicht das gewünschte Ergebnis erzielt.--Herr Produnis 12:10, 8. Jun. 2007 (CEST)

Das Ergebnis habe ich, allerdings ein wenig umständlich. Europol 16:11, 8. Jun. 2007 (CEST)
data.frame(matrix(unlist(unclass(meinedaten)),nrow=length(meinedaten),byrow=T,dimnames=list(names(meinedaten),meinedaten[,0])))
wow.. du bist der Held... vielen Dank.. --Herr Produnis 17:24, 8. Jun. 2007 (CEST)
Ich habe noch was einfacheres gefunden:
apply(bsp4,MARGIN=1,FUN=function(x) {x})
bzw.
as.data.frame(apply(bsp4,MARGIN=1,FUN=function(x) {x}))
es gibt den Befehl für Transponieren, der hat genau die gleiche Funktion und ist einfacher zu handhaben:
t()

Doppelte Einträge[Bearbeiten]

Gibt es eigentlich eine Funktion, die einen Datensatz auf doppelte (oder dreifache) Einträge prüft? Es kann ja grade bei riesigen Datensätzen hilfreich sein herauszufinden, ob man irgedwas doppelt oder dreifach eingetragen hat... --Herr Produnis 18:27, 9. Jun. 2007 (CEST)

Ja gibt es, ist unique und duplicated:
> rbind(meinedaten,meinedaten)
> unique(rbind(meinedaten,meinedaten))
> duplicated(rbind(meinedaten,meinedaten))

Hat allerdings keinen Parameter für Ähnlichkeitsgerade oder Übereinstimmungsausmass. Euro 02:59, 10. Jun. 2007 (CEST)

Wow... gibt es auch etwas, was du nicht weisst? ...hehehe... besten Dank, --Herr Produnis 13:15, 10. Jun. 2007 (CEST)

Gewichtung[Bearbeiten]

Weiss jd. ob es eine einfache Variante der Gewichtung (für einen gesamten Dataframe gibt). Ich habe bisher mehr oder weniger manuell Multiplikationen von metrischen und nominalen Daten vorgenommen, aber zuweilen wäre es komfortabler für die Auswertungen eines gesamten data.frames analog SPSS eine Gewichtung einzuschalten. Any ideas? Euro 09:05, 11. Jun. 2007 (CEST)

leider no idea... das Forum ist zwar nur rar frequentiert, aber vielleicht weiss es dort der "Student"... --Herr Produnis 10:39, 11. Jun. 2007 (CEST)

Bedingungen und Verknüpfungen[Bearbeiten]

Hmm... evtl. ist es sinnvoll, irgendwo in dem Text auf die Syntax für Bendingungen und Verknüpfungen hinzuweisen..:

Bedingungen
  ==    gleich 
  !=    ungleich 
  <    kleiner 
  <=    kleiner-gleich 
  >    größer 
  >=    größer-gleich 
Verknüpfungen
  &    und 
  |    oder 

Bloss an welcher Stelle... ?! --Herr Produnis 11:21, 21. Jun. 2007 (CEST)

Weiss auch nicht. Ich denke darüber nach. Bis jetzt bin ich davon ausgegangen, dass das in ein vorhergehendes Kapitel gehört. Aber wenn Du eine Idee hast... Mach einfach! By the way: Nimm vielleicht noch ! / nicht getrennt in die Vorlage auf. Euro 18:58, 23. Jun. 2007 (CEST)


order[Bearbeiten]

Hallo IP 134.2.190.254

Ich habe endlich nochmal die Referenzierung mit doppelter Benutzung von order geprüft. Bei mir (V2.5.1) funktioniert es so problemlos Entsprechend habe ich reverted.

LG Euro 14:53, 8. Nov. 2007 (CET)

hinzufügen eines neuen falls (im kapitel zb. 'jörg')[Bearbeiten]

hi, geht es beim hinzufügen von jörg wirklich nicht einzeilig? habe da mal rumprobiert:

zb mit

> bsp4 <- rbind(bsp4, data.frame(Name="Jörg", Geschlecht="maennlich", Lieblingsfarbe="blau", Einkommen=18000))

klappt es ja einzeilig auf die vierspaltige tabelle angewendet. nach der erweiterung auf die 5. spalte klappt folgendes aber leider NICHT:

> bsp4 <- rbind(bsp4, data.frame(Name="Jörg", Geschlecht="maennlich", Lieblingsfarbe="blau", Einkommen=18000, "Einkommen (USD)"=24268.68))

weiß einer weiter? muss doch gehn... --Holzratte 16:12, 26. Jun. 2009 (CEST)