dnz379
18. August 2016 um 08:39
1
Hallo
ich möchte in R eine Zeile unbestimmter Länge in einen Vektor schreiben
und vorher nach der Größe sortieren.
Erzeugung Vektor mit 50 Zufallszahlen
Vektor=sample(x=seq(1,200,1),size=50, replace=T)
Modalwert.tab=table(Vektor)
Modalwerte=which(Modalwert.tab == max(Modalwert.tab))
„Modalwerte“ liefert den Modalwert und die Position dieses Wertes in der Tabelle. Wie bekomme ich nun die Modalwerte der größe nach sortiert in einen Vektor
Danke für die Hilfe!
Vektor=sample(x=seq(1,200,1),size=50, replace=T)
Vektor[order(Vektor)]
[1] 2 3 15 19 19 22 22 33 33 34 34 51 60 65 68 75 77 84 87
[20] 87 90 90 98 98 99 114 120 120 123 123 124 139 141 143 146 148 149 152
[39] 158 159 160 164 166 170 174 179 184 194 199 199
So?
dnz379
18. August 2016 um 11:05
3
Teilweise
Meine Werte stehen in einer Tabelle 2x2 mit einer undefinierten Zeilenlänge mit:
Modalwerte[order(Modalwerte)]
1 34 136 164
1 13 38 43
nun kann ich diese ordnen aber wie kann ich nun nur die erste Zeile in einen Vektor schreiben
Aussehen sollte dieser
x=c(34, 136, 164)
x=c( erste Spalte von Modalwerte) …?
LG
Martin
Eine Tabelle? Meinst Du matrix?
x <- matrix(c(1,2,3,4,5,6,7,8), ncol=4)
x
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
und die erste Zeile wäre:
x[1,]
[1] 1 3 5 7
dnz379
22. August 2016 um 08:40
5
Genau so etwas möchte ich, nur halt nicht für eine matrix sondern für eine tabelle
ich habe die Funktionread.table gefunden komme damit aber nicht zurecht…
Vektor=sample(x=seq(1,200,1),size=50, replace=T)
Modalwert.tab=table(Vektor)
Modalwerte=which(Modalwert.tab == max(Modalwert.tab))
Modalwerte
42 52 113 178 194
5 9 23 41 43
Modalwerte sollen jetzt in einen Vektor umgewandelt werden c(42, 52, 113, 178, 194)
…
?
Oh, Du willst die rownames vom output von which wieder als Zahlenvektor? Ja, das geht:
> as.numeric(rownames(Modalwerte))
[1] 2 15 41 103 139 140 144 175
(Ich hab natürlich andere Zahlen, aber sinngemäß sind es Deine).