3

値を限られた数のビンにグループ化する度数分布表を作成しようとしています。

私がデータを持っていると言う

X <- c(1,2,3,4,3,9, 20)

次のように、すべての空のセルが表示されるように度数分布表を作成できます。

(factor(X, levels = c(0:max(X))))

>5可能なすべての値の頻度を表示する代わりに、テーブルのレベルが次のようになるように値をビンに入れたいと思います0, 1, 2, 3, 4, 5, and >5

これどうやってするの?

4

2 に答える 2

3

最初に、の一意のエントリを持つようにベクトルを変換する必要があります。次に、factor()関数に不足しているレベルを追加できます。

X <- c(1,2,3,4,3,9,20)
X <- ifelse(X>5,">5",X)
X <- factor(X,levels=c(0:5,">5"))

これにより、次のようになります。

X [1] 1 2 3 4 3> 5> 5レベル:0 1 2 3 4 5> 5

于 2011-12-11T11:47:55.273 に答える
1

Sachaはすでに実用的な答えを提供していますが、将来の参考のためにcut、連続変数をチャンクに分割するように設計された関数をよく理解しておくことをお勧めします。

x <- cut(x, c(-Inf, 0:5, Inf), labels=c(0:5, ">5"))
于 2011-12-11T14:59:51.547 に答える