Seite 1 von 1

Anzahl unterscheidbarer Elemente einer Matrix

Verfasst: Sa Aug 10, 2019 6:16 pm
von Hanna
Guten Tag,

folgendes Problem bekomme ich nicht gelöst: ich habe eine Matrix mit 2 Spalten und n Zeilen. Ich möchte nun die Anzahl der unterscheidbaren Elemente der Matrix rausfinden.
Mit unique bekomme ich nur die unterscheidbaren Zeilen raus - das nützt mir leider nichts. Eine Idee war noch, dass ich die Spalten zu einer Spalte verbinde und dann das Distinct rüberlaufen lassen - aber schön ist das nicht. Hat jemand noch eine andere Idee?

Vielen Dank!

Grüße Hanna

Nachtrag: ich habe es jetzt doch nochmal mit dem Verketten gemacht (el ist meine edgelist). Gehen tut es schon. Aber gibt es dafür auch einen allgemeinen Befehl, mit dem es direkt funktioniert?

Code: Alles auswählen

anzahl <- length(unique(c(el[,1], el[,2]))) 

Re: Anzahl unterscheidbarer Elemente einer Matrix

Verfasst: Sa Aug 10, 2019 6:30 pm
von jogo
Hallo Hanna,

vielleicht möchtest Du die Funktion table() verwenden.
Aber da Du Dich nicht an viewtopic.php?f=20&t=11 gehalten hast,
kann es sein, dass mein Vorschlag nicht zu Deinen Daten passt.
Möglicherweise meinst Du einen Dataframe (und nennst diesen Matrix). Falls dem so ist, muss ich auch meine Antwort ändern.

Gruß, Jörg
p.s.: Auf unkonkrete Fragen gibt es unkonkrete Antworten.

Re: Anzahl unterscheidbarer Elemente einer Matrix

Verfasst: Sa Aug 10, 2019 7:15 pm
von Hanna
Hallo Jörg,

ich gelobe Besserung!

Viele Grüße,

Hanna

Re: Anzahl unterscheidbarer Elemente einer Matrix

Verfasst: Sa Aug 10, 2019 7:38 pm
von Hufeisen
Hanna hat geschrieben: Sa Aug 10, 2019 6:16 pmMit unique bekomme ich nur die unterscheidbaren Zeilen raus - das nützt mir leider nichts. Eine Idee war noch, dass ich die Spalten zu einer Spalte verbinde und dann das Distinct rüberlaufen lassen - aber schön ist das nicht.
jogo hat zwar schon viel geschrieben, aber was ist eigentlich aus deinem Ansatz geworden? Du findest ihn nicht schön, warum? Das sollte doch genau machen, was du möchtest.
Hanna hat geschrieben: Sa Aug 10, 2019 6:16 pmAber gibt es dafür auch einen allgemeinen Befehl, mit dem es direkt funktioniert?

Code: Alles auswählen

test <- matrix(c(1, 2, 3, 1, 5, 1), ncol = 2)
unique(as.vector(test))
# [1] 1 2 3 5

Re: Anzahl unterscheidbarer Elemente einer Matrix

Verfasst: Sa Aug 10, 2019 10:57 pm
von Hanna
Ja, es macht das; dachte halt, dass es vlt. doch eine direkte Funktion gibt, die über alle Einträge einer Matrix/EdgeList läuft, halt wie das unique über die Zeilen. Insofern: alles bestens :D

Viele Grüße,

Hanna