2017-09-24 4 views
0

Ich habe einen Datenrahmen ähnlich die Matrix unter:R: Plot der Frequenz von Merkmalen pro Klasse

r= 50 
c = 10 
testdata <- matrix(rbinom(r*c,1,0.5),r,c) 
examplev <- rep(c(290,320,390,460,520,580,710,780,800,100001),5) 
testdata <- cbind(testdata,examplev) 

Say jede binäre Spalte für ein Feature steht und die letzte Spalte in den Klassen von Daten. Ich möchte ein Diagramm erstellen, das die Features 1 bis 10 auf der y-Achse und die Klassen eins bis zehn auf der x-Achse zeigt, die zeigen, wie viele meiner Datensätze einschließlich Feature y ein Mitglied der Klasse x sind. Irgendeine Idee, wie man den Code in R schreibt?

enter image description here

+1

Versuchen Sie, die Kurven von jedem Ihrer Daten abzubilden? Könnten Sie nach Violinenparzellen suchen? http://ggplot2.tidyverse.org/reference/geom_violin.html – lebelinoz

+0

Ihr Kommentar hat auch geholfen. Ich hatte noch nie von Geigenparzellen gehört. Vielen Dank! – Diana01

Antwort

1

Nicht 100%, was Sie gefragt, weil ich bin mit Balkendiagramme statt Dichteplots, aber das ist in der Nähe zu dem, was Sie wollen.

TABLE = sapply(as.data.frame(testdata[,1:10]), 
    function(x) table(x, testdata[,11])[2,]) 

## You will need to stretch the graphics window horizontally 
par(mfrow=c(1, 10)) 
for(i in 1:10) { 
    barplot(TABLE[i,], horiz=TRUE, xlim=c(0,max(TABLE)), 
     las=1, xlab=rownames(TABLE)[i]) 

}

Boxplots