Hilfe bei Datenverarbeitung

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
guy2

Hilfe bei Datenverarbeitung

Beitrag von guy2 »

Hallo zusammen!

Ich habe mich extra hier angemeldet, da ich mit dem Programm am verzweifeln bin.
Für mein Studium soll ich eine statistische Untersuchung mit R durchführen.
Das dazugehörige Seminar war...naja. Ich habe weder eine Einführung in R erhalten noch in Statistik (Kursbezeichnung: Einführung in Statistik anhand von R)
Wie auch immer..jetzt zu meinem Problem (zumindest zum Ersten), dass wahrscheinlich für euch Profis ein Kinderspiel ist:

Ich habe in meinem Datensatz die Einkommen von rund 3000 Personen, etwa 1000 haben die Angabe verweigert. Ich würde diese gerne vorerst ausschließen. Mit welchem Befehl kann ich diese Gruppe ausschließen? Also einen neuen "Value" erstellen, der nur tatsächliche Angaben enthällt.

Hoffe ihr könnt mir helfen!
Gruß
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Hilfe bei Datenverarbeitung

Beitrag von EDi »

Ich denke die Funktionen ?is.na(), sowie vielleicht ?`[`könnten hilfreich sein.
Genauso wie der ?Logic Operator '!'.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Hilfe bei Datenverarbeitung

Beitrag von student »

Hallo guy2,

schade, dass es nicht mit den Seminar oder überhaupt einer Statistikvorlesung geklappt hat. Aber vielleicht kannst Du ja ein wenig nachholen? Eine Einführung in R findest Du hier. Für den gelegentlichen Anwender ist möglicherweise auch der R-Commander interessant!

Viel Erfolg!
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
guy2

Re: Hilfe bei Datenverarbeitung

Beitrag von guy2 »

Danke schon mal für die Antworten.
Aber das sind genau solche Sachen die mich zur Weißglut treiben:

Komplette Tabelle:

table(income2) -> Tabelle mit >3000 Werten wird angezeigt, soweit so gut

Jetzt ohne "Verweigerer"

table (income2 !=99999) -> 1000 FALSE , 2000 TRUE

Wie bringe ich dieses atemberaubende Programm dazu mir wieder eine Tabelle mit Werten anzuzeigen?
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Hilfe bei Datenverarbeitung

Beitrag von EDi »

Bitte ein reproduzierbares Beispiel posten.

Ist income2 ein vektor?
Dann

Code: Alles auswählen

income2[income2 !=99999]
um die 99999 werte auszuschließen
bzw.

Code: Alles auswählen

table(income2[income2 !=99999])
um die Häufigkeiten darin zu sehen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
guy2

Re: Hilfe bei Datenverarbeitung

Beitrag von guy2 »

Vielen Dank, genau das habe ich gesucht.... :D :D :D

Wenn ich nun noch einen weiteren Wert dort ausschließen muss, würde das doch über den logischen Operator "&" laufen,oder?
also:

table(income2[income2 !=99997&99999]

Nun ja, anscheinend nicht.. ich versteh die Logik hinter dem Programm nicht.
In Wort würde die Formel doch heißen:

"Tabelle mit Einkommen, wobei Einkommen ungleich 99997 & 99999"


Was meinst du mit reproduzierbares Beispiel?
Ich habe eine Tabelle in denen Einkommen angegeben wurden und jeweils Leute die dieses haben:

Bsp:

1111€ -> 1 Person
1300€ -> 3 Personen
...
...
99997-> 1030 Personen
99999-> 27 Personen
(auf der Euroseite kommen nachher die Werte 99999 und 99997, das sind dann "Verweigerer" und "Keine Angabe")
Ich muss die Werte erst mal ausschließen, damit ich damit rechnen kann.

Wie definieren sich denn Vektoren in R? Vektor gibt doch eine Richtung vor.
Ich habe eine Ordinale Tabelle wobei X-Werte das Einkommen beschreiben von gering nach hoch und die Y-Werte mit der Anzahl der Personen.



PS. Sry wenn ich mich so blöd hier anstelle :roll: Das ist nicht wirklich mein Fachgebiet und mit Programiersprache habe ich keinerlei Erfahrung...gucke zwar nach Tutorials aber das hilft nur bedingt
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Hilfe bei Datenverarbeitung

Beitrag von bigben »

Hi!

Vektoren gibt es nicht nur in der Geometrie, eine einfache Zahlenreihe heißt in R Vector. Statistiken rechnet man oft über Daten in Tabellen. Das sind dann mehrere zusammengehörige vectors, die heißen in R dataframe. Du wirst Dir ein Einführungstutorial in R antun müssen, wenn Du in R ein wenig mehr als nur Daten auswählen möchtest.

Zum Thema reproduzierbares Beispiel siehe beispielsweise https://stackoverflow.com/help/mcve
Nach Deinem ersten Post hast Du eine fehlleitende Antwort bekommen, weil wir nicht wissen konnten, dass fehlende Angaben als 9999 codiert sind. In R codiert man sowas als NA.

Ein reproduzierbares Beispiel könnte so aussehen:

Code: Alles auswählen

income <- c(1000, 2000, 3000, 99999, 99997, 40000)
income.bereinigt <- income[income!=99999 & income!=99997]
print(income.bereinigt)
Wenn man sich in diese Notation mit den eckigen Klammern mal eingefunden hat, ist sie phantastisch. Für Anfänger und R-fremde kann es leichter lesbar sein, wenn man die Funktion subset() verwendet. Beispielsweise so:

Code: Alles auswählen

income <- c(1000, 2000, 3000, 99999, 99997, 40000)
income.bereinigt <- subset(income, income < 99990)
print(income.bereinigt)
Wenn es sehr viele spezielle Codes wie 99997 und 99999 gibt, kann es übersichtlich sein, den Operator %in% und das Ausrufezeichen als logisches "Nicht" miteinander zu verbinden, wie in

Code: Alles auswählen

income <- c(1000, 2000, 3000, 99999, 99997, 40000)
income.bereinigt <- subset(income, !(income %in% c(99997, 99999)))
print(income.bereinigt)
HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
guy2

Re: Hilfe bei Datenverarbeitung

Beitrag von guy2 »

Hallo! Wollte mich mal für die Hilfe bedanken!
Komme leider nicht wirklich zum ausführlichen antworten, da ziemlich viel Zeit in die bearbeitung der Arbeit fließt..
Antworten