我有一个仅由“a”或“g”组成的字符向量,我想根据频率将它们转换为整数,即更频繁的一个应该编码为 0,另一个编码为 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% 的情况,因为它不应该在我们的研究中发生。)