9

9pt スケールのリッカート アイテムへの応答を含むデータセットがあります。データの度数分布表 (および棒グラフ) を作成したいのですが、スケールの一部の値がデータセットで発生しないため、度数分布表table()からその値を削除します。代わりに、 の頻度で値を提示したいと思います0。つまり、次のデータセットが与えられた場合

# Assume a 5pt Likert scale for ease of example
data <- c(1, 1, 2, 1, 4, 4, 5)

3値という名前の列を手動で挿入することなく、次の頻度表を取得したいと思います0

1 2 3 4 5 
3 1 0 2 1

私は を初めて使用するRので、基本的なことを見落としている可能性がありますが、目的の結果が得られる関数やオプションに遭遇していません。

4

3 に答える 3

21

編集:

tabular頻度表をtable作成し、分割表を作成します。ただし、上記の例のように 1 次元の分割表でゼロ度数を取得するには、もちろん、以下のコードでも機能します。


この質問はミッシングリンクを提供しました。リッカート項目を因子に変換し、レベルを明示的に指定することにより、度数のレベル0は引き続きカウントされます

data <- factor(data, levels = c(1:5))
table(data)

目的の出力を生成します

于 2012-12-04T14:33:19.113 に答える
7

tableは分割表をtabular生成し、カウントがゼロの頻度表を生成します。

tabulate(data)
# [1] 3 1 0 2 1

別の方法(1から始まる整数がある場合-ただし、他の場合には簡単に変更できます):

setNames(tabulate(data), 1:max(data))  # to make the output easier to read
# 1 2 3 4 5 
# 3 1 0 2 1 
于 2014-02-03T22:03:50.300 に答える