1

私が提供する確率に基づいて、科目をクラスに割り当てたいと思います。さまざまなケースで、さまざまな値を使用してこれを実行します。時々、特定のクラスの確率を0にしたいことがあります。私は使用しています

classlist <- cut(runif(p), c(0, pdrop, ptitrate, pcomplete, pnoise, 1), labels = c("D", "T", "C", "N", "O"))

ただし、p個の変数の2つが同じ場合、これは失敗します。最小限の量でそれらを異なるものにすることができます(例:pdrop = .2 ptitrate = .200001)。しかし、もっと良い方法はありますか?

ありがとう

ピーター

4

1 に答える 1

6

私は提案しsample()ます:

> p         <- 100
> groups    <- c("D", "T", "C", "N", "O")
> probVec   <- c(0.2, 0.2, 0.3, 0.25, 0.05)
> classlist <- factor(sample(groups, size=p, replace=TRUE, prob=probVec))
> table(classlist)
classlist
 C  D  N  O  T 
26 16 28  5 25
于 2011-02-02T15:27:09.737 に答える