2016-05-18 17 views
2

Viele Funktionen in R bieten eine Art von Konsolenausgabe (wie NbClust() usw.) Gibt es eine Möglichkeit, einen Teil der Ausgabe (z. B. einen bestimmten ganzzahligen Wert) abrufen, ohne einen Blick am Ausgang? Irgendeine Art von der Konsole zu lesen?Holen Sie die beste Anzahl von Clustern aus NbClust

Stellen Sie sich die Ausgabe wie die folgende Ausgabe von Beispielcode in der package manual vorgesehen aussehen:

[1] "Frey index : No clustering structure in this data set" 
*** : The Hubert index is a graphical method of determining the number of clusters. 
       In the plot of Hubert index, we seek a significant knee that corresponds to a 
       significant increase of the value of the measure i.e the significant peak in Hubert 
       index second differences plot. 

*** : The D index is a graphical method of determining the number of clusters. 
       In the plot of D index, we seek a significant knee (the significant peak in Dindex 
       second differences plot) that corresponds to a significant increase of the value of 
       the measure. 

******************************************************************* 
* Among all indices:             
* 1 proposed 2 as the best number of clusters 
* 2 proposed 4 as the best number of clusters 
* 2 proposed 6 as the best number of clusters 
* 1 proposed 7 as the best number of clusters 

        ***** Conclusion *****        

* According to the majority rule, the best number of clusters is 4 


******************************************************************* 

Wie würde ich den Wert von der letzten Zeile der obigen Ausgabe abrufen?

+0

NO, 'x $ Best.nc' für jeden Index seine jeweilige "Anzahl der Cluster" -Wertes enthält eine Liste zurückgibt. Aber das interessiert mich nicht, ich möchte den Wert in der letzten Zeile abrufen ... – Joni

+0

@ zx8754 Wie oben beschrieben, suche ich wirklich nach einer Möglichkeit, Informationen aus der Konsolenausgabe abzurufen, nicht nur für 'NbClust () 'aber im Allgemeinen für jede Ausgabe von Funktionen in R – Joni

+0

erzeugt Ja, das funktioniert! Danke @ zx8754 Vielen Dank für den Hinweis, dass das Arbeiten mit Konsolenausgabe nicht so üblich ist, möchten Sie dies die Antwort für diese Frage machen? – Joni

Antwort

3

Es ist besser mit Objekten zu arbeiten als mit der Ausgabe in der Konsole. Jede "gute" Funktion würde hoffentlich strukturierte Ausgabe zurückgeben, die unter Verwendung $ oder @ Zeichen zugegriffen werden kann, verwenden str(), um die Struktur des Gegenstandes zu sehen.

In Ihrem Fall, ich denke, das sollte funktionieren:

length(unique(res$Best.partition))