Ich würde das mit machen COUNTIFS
.
Erstellen Sie zuerst die Zeilen und Spalten der Tabellenüberschrift, was ziemlich einfach ist, insbesondere wenn die Variablen wie in Ihrem Beispiel (Boolean1, Boolean2, ...) nummeriert sind, da Sie nur Autofill verwenden. Ansonsten müssen Sie einige Zeichenfolgen bearbeiten / extrahieren, um eine schöne Tabelle zu erhalten:
| Boolean2 Boolean2 | Boolean3 Boolean3 | | No Yes | No Yes | -----------------------------------------------------------------------| Boolean1 No | X | | Boolean1 Yes | | | -----------------------------------------------------------------------| Boolean4 No | | | Boolean4 Yes | | |
Sie müssen Ihre Datenmenge auch als Excel-Tabelle (Strg-L) mit Kopfzeilen definieren (ich habe Table1 als Standardnamen verwendet).
Und in X (vorausgesetzt, dies ist Zelle C3) setzen Sie eine Formel:
=COUNTIFS(INDIRECT("Table1["& C$1 &"]");C$2;(INDIRECT("Table1["& $A3 &"]"));$B3)
Die Sie natürlich automatisch über den gesamten Bereich füllen können.
Das Table1[Boolean2]
bezieht sich auf diese Spalte in Ihrem Dataset (das INDIRECT
vermeidet, dass Sie die Spaltenreferenz hartcodieren müssen und den Wert in der Zelle verwenden können C1
). Die Gesamtformel zählt also die Fälle, in denen Table1[Boolean2]
"Nein" und Table1[Boolean1]
auch "Nein" gilt (unter Verwendung der beiden Bedingungen in COUNTIFS
).
Die Ausgabe ist vollständig symmetrisch. Je nachdem, wie Sie den Jaccard-Index berechnen möchten, müssen Sie nur die Ausgabe unterhalb der Diagonale nehmen (Verwerfen der Duplikate (N, M) & (M, N) und des Trivial (N, N) Einsen). Wenn Sie eine saubere Ausgabe auf einmal wünschen, können Sie natürlich eine zusätzliche hinzufügen, IF
um nur die Anzahl zu berechnen, wenn der Variablenindex in der Zeile größer ist als der Variablenindex in der Spalte. Sie können dies wahrscheinlich auch in derselben Formel tun, aber für die Sichtbarkeit würde ich einfach eine zusätzliche Zeile und Spalte mit der Indexnummer der Variablen (von 1 bis 29) hinzufügen und diese testen.