'a' または 'g' のみで構成される文字のベクトルがあります。頻度に基づいて整数に変換したいと考えています。つまり、頻度の高いものは 0 に、もう 1 つは 1 にコーディングする必要があります。たとえば、次のようになります。
set.seed(17)
x = sample(c('g', 'a'), 10, replace=T)
x
# [1] "g" "a" "g" "a" "g" "a" "g" "g" "a" "g"
x[x == names(which.max(table(x)))] = 0
x[x != 0] = 1
x
# [1] "0" "1" "0" "1" "0" "1" "0" "0" "1" "0"
これは機能しますが、より効率的な方法があるかどうか疑問に思います。
(50%-50% のケースをここで考慮する必要はありません。これは、私たちの研究では決して起こらないはずです.)