Einlesen von Daten/ q-set

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Bildhauer

Einlesen von Daten/ q-set

Beitrag von Bildhauer »

Hallo zusammen,

über ein Umfrage-Portal (q-set) habe ich zwei Dateien erhalten.
  • 1. eine Datendatei im csv- Format und eine
    2. Syntax-Datei (syntax.sps, hier als syntax.txt), die alle Fragen und Antwortmöglichkeiten enthält.
Wie kann ich beide in R so einlesen, dass ich Daten und Antwortmöglichkeiten wieder "zusammenführe"?

Vielen Dank für Eure Hilfe. Die Dateien habe ich hier angefügt!

Mit freundlichen Grüßen!

Bildhauer
Zuletzt geändert von Bildhauer am Mo Okt 31, 2016 11:29 am, insgesamt 1-mal geändert.
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Einlesen von Daten/ q-set

Beitrag von student »

Hallo Bildhauer,

willkommen im Forum!

Ich nehme an, das z. B. q009004 für eine Frage steht. M. E., solltest Du es dabei belassen! Was hilft Dir die konkrete Frage "Diese Funktion kenne ich nicht!" bei der Auswertung? Zur Hypothese und zur Interpretation und wenn Du ein Bericht schreibst, brauchst Du sie natürlich wieder...
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)
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Einlesen von Daten/ q-set

Beitrag von bigben »

Hallo,

@student: Wie soll er denn Fragen auswerten, wenn er die Zuordnung zum Inhalt nicht hat?

@Bildhauer: Proprietäre Dateiformate machen immer wieder Ärger. Leider habe ich keine Antwort für Dich, weil ich SPSS-Daten immer möglicht weit aus dem Weg gehe. Dieses q-set ist ein klassisches Beispiel: Warum muss man SPSS-Syntax lesen können, um eine Umfrage auswerten zu können? Die Forumsteilnehmer hier sind überwiegend keine SPSS-Fans, wie Du Dir denken kannst, deshalb ist es durchaus möglich, dass hier keine wirklich passende Antwort kommt. Natürlich gibt es eine Reihe von Versuchen, SPSS-Dateien für R lesbar zu machen, Pakete wie foreign oder haven, aber die stürzen sich meist auf das Datenformat .sav und die wirst Du inzwischen selbst gegooglet haben. Wenn das nicht klappt, dann wäre es sicher einen Versuch wert, Deine Dateien mit PSPP einzulesen und in einem brauchbaren CSV-Format zu exportieren. Wenn auch das nicht geht, musst Du halt jemanden mit SPSS suchen, der das für Dich macht.

Für die Zukunft, boykottiere Seiten wie q-set! Du hast denen Traffic und Aufmerksamkeit verschafft und sie Werbung platzieren lassen und hast jetzt auch noch Probleme mit deren Ausgabeformat. Ich habe gerade eine Umfrage mit Google Forms abgeschlossen. Ja, Google ist eine Datenkrake, aber dafür war meine Umfrage auch werbefrei ohne Zuzahlung. Meine Befragten mussten sich nicht bei Google einloggen und ich habe eine freundliche Auswahl an Exportformaten zur Auswahl, darunter einwandfreies CSV, in dem alle Frageformulierungen und die Antwortmöglichkeiten enthalten waren.

Bitte berichte, wie es weiter geht.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Einlesen von Daten/ q-set

Beitrag von jogo »

Hallo Bildhauer,

willkommen im Forum.
http://stackoverflow.com/questions/3136 ... ile-into-r
Bitte mal die Pakete foreign und Hmisc konsultieren.

Nachtrag:
ich sehe gerade, dass es dort hauptsächlich um *.sav geht. Wenn Du irgendwo ein SPSS griffbereit hast, wäre der einfachste Weg:
1. in SPSS das Einlesen durchführen
2. Daten als *.sav speichern (vielleicht gibt es ja noch etwas bequemeres)
(vielleicht kann man dies beides auch in PSPP erledigen - so wie Bernhard schon anmerkte)

Gruß, Jörg
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Einlesen von Daten/ q-set

Beitrag von bigben »

@Jörg: In dem Thread geht es aber doch um das Datendateiformat *.sav. Ich habe es so verstanden, dass hier eine Syntaxdatei, aka Code, gelesen werden soll.

@Bildhauer: Die q-set-FAQ schlagen den Datenexport via Clipboard vor. Dort steht:
Gibt es neben dem Export nach SPSS auch eine Möglichkeit, die Ergebnisse nach Excel zu exportieren ?

Einen Button für einen Export nach Excel gibt es noch nicht, aber Sie können die Ergebnisse mit Copy & Paste nach Excel kopieren. Excel stellt die Tabellen der Auswertung in der Regel automatisch sofort richtig dar.
Das klingt doch sehr professionell und vertrauenserweckend.
Auf der PSPP Homepage werden Features aufgezählt, darunter
Syntax and data files which are compatible with those of SPSS.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Einlesen von Daten/ q-set

Beitrag von student »

Hallo Bernhard,

hmmm, die hat er doch
q009004 = Diese Funktion kenne ich nicht!
(wenn ich mich nicht irre)! Bildhauer kennt also jederzeit die Beziehung zwischen Variable und beschreibenden Text...

Und die Daten scheinen doch im csv-Format vorzuliegen (wenigsten das gepostete Beispiel), wo liegt das SPSS-Problem? Wenn unbedingt der Wunsch besteht, würde ich eine Auswertetabelle in Excel zusammen stöpseln. Scheinbar soll doch mit mit [R] ausgewertet werden. :roll:
Umfrage.jpg
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)
Bildhauer

Re: Einlesen von Daten/ q-set

Beitrag von Bildhauer »

So, jetzt eine weitere Frage: Wie bekomme ich die Spalten der beigefügten Tabelle so in ein Säulendiagramm, dass die letzten zwei Zeilen nicht berücksichtigt werden?

Danke für Eure Hilfe im Voraus!

Mit freundlichen Grüßen

Bildhauer
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Einlesen von Daten/ q-set

Beitrag von EDi »

So, jetzt eine weitere Frage: Wie bekomme ich die Spalten der beigefügten Tabelle so in ein Säulendiagramm, dass die letzten zwei Zeilen nicht berücksichtigt werden?
Das geht mit '['. Hier einpaar Beispiele / Möglichkeiten, je nachdem was du machen willst.

Code: Alles auswählen

# some data
df <-  structure(list(x = structure(1:3, .Label = c("A", "B", "kA"), class = "factor"), 
                 y = structure(c(1L, 2L, 2L), .Label = c("A", "kA"), class = "factor")), 
            .Names = c("x",  "y"), 
            row.names = c(NA, -3L), 
            class = "data.frame")
df

# remove columns 2 & 3 by direct index
df[-c(2, 3), ]

# but maybe we down know the index, could remove the last two columns
df[-c(nrow(df)-1, nrow(df)), ]

# maybe you want to remove only the rows with 'kA' in the x column
df[!df$x == 'kA', ]
df$x == 'kA'
# give a indictor if the condition is met,
# '!' inverts

# same for y
df[!df$y == 'kA', ]
# or combined
df[!(df$x == 'kA' | df$y == 'kA')]
# here '|' stands for OR, see ?Logic for more info

# remove all rows, here 'kA' is found
df[!apply(df, 1, function(y) any(y == 'kA')), ]

# apply(df, MARGIN=1 ...) runs a function on every row ( MARGIN=1) of the data.frame(df)#
# the funtion I use here(function(y) any(y == 'kA'))) simply cheke if there is any 'kA' in the row

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.
Bildhauer

Re: Einlesen von Daten/ q-set

Beitrag von Bildhauer »

Vielen Dank, doch bin ich damit ein wenig überfordert.

Die Liste aus dem Screenshot, die ich mir per View (Frage_9) habe anzeigen lassen, wurde mit Frage_9 <- read.xls(umfrage, sheet="Frage 9") erstellt, wobei umfrage der Pfad zur einzulesenden Excel-Datei (
beispiel.xlsx
) ist. Wie kann ich jetzt mit Frage_9 weitermachen, um mein Ziel zu erreichen?

Vielen Dank für die Hilfe!

Mit freundlichen Grüßen

Bildhauer
Bildhauer

Re: Einlesen von Daten/ q-set

Beitrag von Bildhauer »

Ist das df<-structure(Frage_9,row.names = c(NA, -7L), class = "data.frame") die korrekte Art und Weise, die Tabelle einzulesen? Bei mir scheint das so zu funktionieren.

Wenn ja, wie kann ich jetzt die Häufigkeiten der jeweiligen Antworten anzeigen bzw. mit barplot grafisch darstellen (möglichst alle Spalten)?

Danke!

Bildhauer
Antworten