Data frames erstellen

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

Moderatoren: EDi, jogo

Antworten
xleasx
Beiträge: 14
Registriert: Di Apr 21, 2020 9:17 pm

Data frames erstellen

Beitrag von xleasx »

Hallo!
Aus 3 verschiedenen Umfragen, sollen 3 Spalten einer gleichen Kategorie herausgenommen werden und diese anschließend als Data frame dargestellt werden.
Nun habe ich zunächst die einzelnen Spalten herausgegriffen:
x1=Umfrage1$Spalte
x2=Umfrage2$Spalte
x3=Umfrage3$Spalte
(Ist jetzt verallgemeinert, hoffe es ist trotzdem verständlich)

Nun wollte ich den Befehl data.frames(x1,x2,x3) verwenden um den Frame zu erstellen, doch es klappt nicht. Habt ihr eine Idee, was ich falsch gemacht haben könnte?
bigben
Beiträge: 2894
Registriert: Mi Okt 12, 2016 9:09 am

Re: Data frames erstellen

Beitrag von bigben »

xleasx hat geschrieben: Mi Mai 20, 2020 5:59 pm Hallo!
Aus 3 verschiedenen Umfragen, sollen 3 Spalten einer gleichen Kategorie herausgenommen werden und diese anschließend als Data frame dargestellt werden.
Nun habe ich zunächst die einzelnen Spalten herausgegriffen:
x1=Umfrage1$Spalte
x2=Umfrage2$Spalte
x3=Umfrage3$Spalte
(Ist jetzt verallgemeinert, hoffe es ist trotzdem verständlich)

Nun wollte ich den Befehl data.frames(x1,x2,x3) verwenden um den Frame zu erstellen, doch es klappt nicht. Habt ihr eine Idee, was ich falsch gemacht haben könnte?
Das s am Ende von data.frames ist zuviel.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
xleasx
Beiträge: 14
Registriert: Di Apr 21, 2020 9:17 pm

Re: Data frames erstellen

Beitrag von xleasx »

Ja das habe ich dann auch noch bemerkt. Trotzdem wird angezeigt, dass "Argumente implizieren unterschiedliche Anzahl Zeilen: 90, 87, 107".
Muss ich dann bei meinen vorherigen Schritten noch etwas erweitern?
jogo
Beiträge: 2093
Registriert: Fr Okt 07, 2016 8:25 am

Re: Data frames erstellen

Beitrag von jogo »

Hallo xleasx,

ein Dataframe ist eine Liste von Vektoren. Die Vektoren sind bei einem Dataframe alle gleich lang.
Wenn die Vektoren in einen Dataframe sollen, musst Du uns beschreiben, wie das Ergebnis aussehen soll:
sollen die langen Vektoren gekürzt werden?
oder sollen die kurzen Vektoren mit anderen Werten aufgefüllt werden, z.B. NA.

Die sauberste Lösung ist eine Liste und kein Dataframe, aber auch hier musst Du kundtun, ob das eine Lösung für Dich ist.
Das mit der Liste sieht so aus:

Code: Alles auswählen

L <- list(x1=Umfrage1$Spalte, x2=Umfrage2$Spalte, x3=Umfrage3$Spalte)
Gruß, Jörg
p.s.:
Dieses Thema gehört nicht in den Bereich FAQ. Ich werde es demnächst in den Bereich "Allgemeine Fragen zu R" verschieben.
xleasx
Beiträge: 14
Registriert: Di Apr 21, 2020 9:17 pm

Re: Data frames erstellen

Beitrag von xleasx »

Hallo Jörg!

Vielen Dank für deine Rückmeldung! Eigentlich ist die Erstellung eines Data frames vorgegeben, deswegen werde ich wohl probieren, die Vektoren auszufüllen. Versuche mich aber auch mal an der Liste!
jogo
Beiträge: 2093
Registriert: Fr Okt 07, 2016 8:25 am

Re: Data frames erstellen

Beitrag von jogo »

Hallo xleasx,

für einen Dataframe vielleicht so:

Code: Alles auswählen

s1 <- 1:5
s2 <- 1:7

L <- list(s1, s2)
n <- max(lengths(L))

myfill <- function(x, n) if (length(x)==n) return(x) else { x[n] <- NA; return(x) }
lapply(L, myfill, n=n)

data.frame(x1=myfill(s1, n), x2=myfill(s2, n))
Gruß, Jörg
xleasx
Beiträge: 14
Registriert: Di Apr 21, 2020 9:17 pm

Re: Data frames erstellen

Beitrag von xleasx »

Danke! Hat geklappt!
Antworten