Häufigkeit von Kombinationen

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

Moderatoren: EDi, jogo

Rubilu
Beiträge: 5
Registriert: Mi Okt 31, 2018 10:42 am

Häufigkeit von Kombinationen

Beitrag von Rubilu »

Hallo zusammen!

Vielleicht kann jemand von euch mir bei meinem Problem helfen. Ich finde einfach nicht die richtige Funktion.

Und zwar geht es um einen Datensatz wie folgt:

Code: Alles auswählen

ID     Code
1         1
2         1
3         1
4         1
1         2
2         3
3         4
4         2
Ich möchte gerne bestimmen, wie häufig eine Kombination auftritt (hier also Code "1"+"2" bei ID 1 und 4). :?: :?: :?:

Ich freue mich über eure Hilfe :) :) :)
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Häufigkeit von Kombinationen

Beitrag von jogo »

Hallo Rubilu,

willkommen im Forum!
Momentan kann ich mir noch nicht vorstellen, was Du meinst.
Wenn Du Deinen Dataframe reduzierst auf die Zeilen mit ID==1 und ID==4, dann hast Du doch nur einzelne Werte bei $Code :?:

Gruß, Jörg
Rubilu
Beiträge: 5
Registriert: Mi Okt 31, 2018 10:42 am

Re: Häufigkeit von Kombinationen

Beitrag von Rubilu »

Hallo Jörg!

Mir geht es darum, darzustellen, wie häufig bei der gleichen ID eine bestimmte Kombination auftritt.

zB. folgender Datensatz

Code: Alles auswählen

ID <- c(Jonathan, Hannes, Kathrin, Jennifer, Annika, Benjamin, Jonathan, Hannes, Kathrin, Jennifer, Annika, Benjamin)

Code <- c(Apfel, Apfel, Apfel, Apfel, Apfel, Apfel, Banane, Birne, Kirsche, Banane, Banane, Kiwi)
Gezählt werden soll, wie häufig zum Beispiel die Kombination Apfel und Banane auftritt (im Bezug auf die Person, die diese Obstsorten besitzt).

Ich weiß nicht, ob du dir dadurch besser vorstellen kannst, was ich meine.

Vielen Dank im Vorraus!
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Häufigkeit von Kombinationen

Beitrag von jogo »

Hallo Rubilu,

zeig doch bitte mal bei Deinen Beispielen, wie das Ergebnis aussehen soll.

Gruß, Jörg
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Häufigkeit von Kombinationen

Beitrag von EDi »

Pack die zwei Vektoren in einen data.frame und schau dir mal dplyr::count() an.
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.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Häufigkeit von Kombinationen

Beitrag von bigben »

Wie wäre es damit?

Code: Alles auswählen

ID <- c("Jonathan", "Hannes", "Kathrin", "Jennifer", "Annika", "Benjamin",
        "Jonathan", "Hannes", "Kathrin", "Jennifer", "Annika", "Benjamin")

Code <- c("Apfel", "Apfel", "Apfel", "Apfel", "Apfel", "Apfel", "Banane",
          "Birne", "Kirsche", "Banane", "Banane", "Kiwi")

count.combi <- function(id, code, search = c("Apfel", "Banane")){
  who <- tapply(code, id, function(i) (search[1] %in% i)&&(search[2] %in% i))
  print(who) # diese Zeile nach dem debuggen löschen
  sum(who)
}
count.combi(ID, Code, c("Apfel", "Banane"))

count.combi(ID, Code, search= c("Apfel", "Kiwi"))

count.combi(ID, Code, c("Banane", "Kiwi"))
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: Häufigkeit von Kombinationen

Beitrag von jogo »

Oder vielleicht sowas:

Code: Alles auswählen

d <- data.frame(
ID=c("Jonathan", "Hannes", "Kathrin", "Jennifer", "Annika", "Benjamin", "Jonathan", "Hannes", "Kathrin", "Jennifer", "Annika", "Benjamin"),
Code=c("Apfel", "Apfel", "Apfel", "Apfel", "Apfel", "Apfel", "Banane", "Birne", "Kirsche", "Banane", "Banane", "Kiwi"))
X <- xtabs( ~ ID + Code, data=d)
sum(X[,"Apfel"] & X[,"Banane"])  ## oder
sum(pmin(X[,"Apfel"], X[,"Banane"]))
Das ist doch mal wieder ein schönes Ratespiel ...

hier noch etwas für die Liebhaber von data.table:

Code: Alles auswählen

library("data.table")

d <- data.table(
  ID=c("Jonathan", "Hannes", "Kathrin", "Jennifer", "Annika", "Benjamin", "Jonathan", "Hannes", "Kathrin", "Jennifer", "Annika", "Benjamin"),
  Code=c("Apfel", "Apfel", "Apfel", "Apfel", "Apfel", "Apfel", "Banane", "Birne", "Kirsche", "Banane", "Banane", "Kiwi"),
  key="Code")

d["Apfel"][d["Banane"], on="ID", .N]           ## oder
d[ID %in% d["Apfel", ID]][!"Apfel", .N, Code]  ## oder
d[ID %in% d["Apfel", ID]][, .N, Code][!"Apfel"]
Gruß, Jörg
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Häufigkeit von Kombinationen

Beitrag von Athomas »

Das ist doch mal wieder ein schönes Ratespiel ...
Stimmt - und diese Ratespiele scheinen sich ja großer Beliebtheit zu erfreuen :lol: !
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Häufigkeit von Kombinationen

Beitrag von jogo »

Athomas hat geschrieben: Do Nov 01, 2018 4:12 pm
Das ist doch mal wieder ein schönes Ratespiel ...
Stimmt - und diese Ratespiele scheinen sich ja großer Beliebtheit zu erfreuen :lol: !
klaro, aber in dieser Runde ist uns wohl der Quizmaster abhanden gekommen. :shock:
Er hat einfach nur sein Rätsel hier abgekippt und wech.
Rubilu
Beiträge: 5
Registriert: Mi Okt 31, 2018 10:42 am

Re: Häufigkeit von Kombinationen

Beitrag von Rubilu »

Hallo zusammen!

Danke für die Tipps. Ich probier das gleich mal aus und sag euch Bescheid.

LG Rubilu
Antworten