2016-07-29 9 views
0

Ich habe einen Datenrahmen, den ich aus einer Datei gelesen: Sassign. Ich habe eine Häufigkeitstabelle mit prop.table() erstellt. Hier ist, was ich verwendet:Ändern der Ausgabe von prop.table()

prop.table(table(sassign$state)) 

Ausgang ist:

AE  CT  DC  DE  MA  MD  ME  NH  NJ  NY  PA  RI  VA  VI  VT 
0.00010 0.05024 0.00678 0.01422 0.08504 0.08344 0.00686 0.01330 0.22136 0.33060 0.17436 0.00804 0.00054 0.00090 0.00422 

Dieser Ausgang sehr klobig. Gibt es einen Weg Ich kann dies als eine Spalte organisieren, Anzahl der Vorkommen und dann sortieren?

Ich habe auch versucht, CrossTabs, aber es ist noch klirrender.

CrossTable(sassign$state) 

    Cell Contents 
|-------------------------| 
|      N | 
|   N/Table Total | 
|-------------------------| 


Total Observations in Table: 50000 


      |  AE |  CT |  DC |  DE |  MA | 
      |-----------|-----------|-----------|-----------|-----------| 
      |   5 |  2512 |  339 |  711 |  4252 | 
      |  0.000 |  0.050 |  0.007 |  0.014 |  0.085 | 
      |-----------|-----------|-----------|-----------|-----------| 


      |  MD |  ME |  NH |  NJ |  NY | 
      |-----------|-----------|-----------|-----------|-----------| 
      |  4172 |  343 |  665 |  11068 |  16530 | 
      |  0.083 |  0.007 |  0.013 |  0.221 |  0.331 | 
      |-----------|-----------|-----------|-----------|-----------| 


      |  PA |  RI |  VA |  VI |  VT | 
      |-----------|-----------|-----------|-----------|-----------| 
      |  8718 |  402 |  27 |  45 |  211 | 
      |  0.174 |  0.008 |  0.001 |  0.001 |  0.004 | 
      |-----------|-----------|-----------|-----------|-----------| 

Ich bin ein Anfänger und habe angefangen, mit R für die letzten 4 Tage zu arbeiten. Ich habe ungefähr 4 Stunden in dieser Situation verbracht, also würde ich jede Hilfe schätzen. Danke im Voraus.

Antwort

3

Bei der Veröffentlichung ist es am besten, ein Beispiel anzugeben, das tatsächlich funktioniert. Sie haben die Ausgabe bereitgestellt, aber nicht die Daten, die für die Erstellung verwendet wurden, sodass Ihre Ausgabe nicht erneut erstellt werden kann.

state <- c(rep("AE", 5), rep("CT", 2512), rep("DC", 339), rep("DE", 711)) 

Nun sollten Sie das Ergebnis der prop.table() in einem Objekt speichern, so dass Sie mit ihm weiter arbeiten können: Ich werde einen Teil der Daten für dieses Beispiel (die ersten 4 Zustände) erstellen.

tab <- prop.table(table(state)) 

Dann möchten Sie vielleicht einen data.frame mit dem Staat als eine Spalte und der Anteil als andere erstellen, wie folgt aus:

df <- data.frame(state=names(tab), proportion=as.numeric(tab)) 

Der Inhalt df ist jetzt:

state proportion 
1 AE 0.001401738 
2 CT 0.704233249 
3 DC 0.095037847 
4 DE 0.199327166 

Wenn Sie auch die Zeilen nach dem Verhältnis sortieren möchten, können Sie

tun
+0

Danke mrbrich. Ich werde die Daten vom nächsten Mal veröffentlichen. Meine Daten haben 50.000 Zeilen. Ist es also in Ordnung, ein Snippet zu posten? – watchtower

+0

Ja, ich wollte nicht, dass Sie die ganzen Daten posten müssen, nur ein kleines Beispiel. – mrbrich

+2

@watchtower [siehe hier] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610) für einige Anleitung für zukünftige Beiträge – Jaap

Verwandte Themen