Anzahl der Ausprägungen einer Variablen, gruppiert nach einer weiteren Variablen

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

Moderatoren: EDi, jogo

Antworten
Jörg
Beiträge: 25
Registriert: Mi Nov 09, 2016 2:58 pm

Anzahl der Ausprägungen einer Variablen, gruppiert nach einer weiteren Variablen

Beitrag von Jörg »

Hallo,

ich habe einen Datensatz, der u.a. zwei Variablen enthält, im Beispiel v1 und v2.

Code: Alles auswählen

v1<-c("a","a","a","b","b","b","c","c","c","c")
v2<-c("a1","a1","a2","b2","b3","b1","c2","c2","c1","C5")
df<-cbind(v1,v2)
df<-as.data.frame(df)
Nun möchte ich, gruppiert nach v1, die Anzahl der einzigartigen Werte von v2 haben. Also letzlich sowas wie length(unique(v2)), aber gruppiert nach v1.

Im Beispiel lautet das Ergebnis
a: 2 (zwei einzigartige Werte von v2 innerhalb des Subsets V1=a
b: 3
c: 3

Im nächsten Schritt möchte ich den jeweiligen Wert in der Ursprungstabelle einfügen.

Das Ergebnis sähe im Falle des Beispiels so aus:

Code: Alles auswählen

V2<-c(2,2,2,3,3,3,3,3,3,3)
df_neu<-cbind(v1,v2,v3)
In meinem konkrten Beispiel haben beide Variablen tausende verschiedene Ausprägungen.

Hat jemand eine Idee?

Herzlichen Dabnk und Grüße

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

Re: Anzahl der Ausprägungen einer Variablen, gruppiert nach einer weiteren Variablen

Beitrag von bigben »

So etwa?

Code: Alles auswählen

v1<-c("a","a","a","b","b","b","c","c","c","c")
v2<-c("a1","a1","a2","b2","b3","b1","c2","c2","c1","C5")
df<-cbind(v1,v2)
df<-as.data.frame(df)

df$uni.len <- ave(v2, v1, FUN = function(x) length(unique(x)))

print(df)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Jörg
Beiträge: 25
Registriert: Mi Nov 09, 2016 2:58 pm

Re: Anzahl der Ausprägungen einer Variablen, gruppiert nach einer weiteren Variablen

Beitrag von Jörg »

Das sieht prima aus, vielen Dank!! Habe es bei einem Testdatensatz probiert und hatte initial das Problem, dass beide Variablen als factor eingelesen wurden und nicht als character. Das gab dann Fehlermeldungen. Nach der entpsrechenden Korrektur hat es aber geklappt.
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Anzahl der Ausprägungen einer Variablen, gruppiert nach einer weiteren Variablen

Beitrag von bigben »

Schön. Das ist eine sehr nützliche Funktion, die ich erst hier im Forum kennengelernt habe.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten