Wie konvertiere ich eine Häufigkeitstabelle in einen Vektor von Werten?


13

Wie lässt sich eine Häufigkeitstabelle mit R oder Excel am einfachsten in einen Wertevektor umwandeln?

Beispiel: Wie würden Sie die folgende Häufigkeitstabelle konvertieren?

Value   Frequency
  1.      2
  2.      1
  3.      4
  4.      2
  5.      1

in den folgenden Vektor?

1, 1, 2, 3, 3, 3, 3, 4, 4, 5

Antworten:


21

In R können Sie dies mit dem folgenden repBefehl tun :

tab <- data.frame(value=c(1, 2, 3, 4, 5), freq=c(2, 1, 4, 2, 1))
vec <- rep(tab$value, tab$freq)

Dies ergibt folgendes Ergebnis:

> tab
  value freq
1     1    2
2     2    1
3     3    4
4     4    2
5     5    1

> vec
 [1] 1 1 2 3 3 3 3 4 4 5

Weitere Informationen finden Sie in der Hilfedatei zum repBefehl, indem Sie Folgendes eingeben ?rep.


2
Oder eine einfache Frequenz Tabelle für vec <- sample(1:5, 20, TRUE)erstellt von table(): rep(names(table(vec)), table(vec)). Das Ergebnis muss dann mit konvertiert werden, as.numeric()wenn es sich bei den Kategorien um tatsächliche Zahlen handelt.
Karakal

1

Offensichtlich ist es in R einfacher.

In Excel würde ich eine Hilfsspalte verwenden (wenn der Wert in A1 ist):

  value freq help
1     1    2  =REPT(A2 & ", ",B2)
2     2    1  =C1 & REPT(A3 & ", ",B3)
3     3    4  (drag or copy from upper cell)
4     4    2  (drag or copy from upper cell)
5     5    1  (drag or copy from upper cell)
              =LEFT(C6, LEN(C6)-1)

In C7 haben Sie Ihr Ergebnis

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.