0
У меня есть большое количество точек данных, каждая из которых имеет различную связанную вероятность быть 0 или 1. Есть ли способ в R создать вектор из 0s и 1s, отобранных из этих вероятностей ? Следующий код показывает, как делать то, что я хочу, но он находится в цикле.R: вещественные/ложные утверждения на основе вероятности
n <- 10
x <- letters[1:n] # my data
p <- runif(n) # my probabilities of the result being 1
result <- numeric()
for(ii in 1:n){
result[ii] <- sample(x = c(0,1), 1, prob = c(1-p[ii], p[ii]))
}
print(cbind(x, p, result))
В результате получается нечто вроде:
x p result
[1,] "a" "0.0407166101504117" "0"
[2,] "b" "0.632280522491783" "1"
[3,] "c" "0.754841333255172" "0"
[4,] "d" "0.0509465073700994" "0"
[5,] "e" "0.629663853673264" "0"
[6,] "f" "0.357108945958316" "0"
[7,] "g" "0.808141406625509" "1"
[8,] "h" "0.671664241468534" "1"
[9,] "i" "0.0218871515244246" "1"
[10,] "j" "0.689538966864347" "1"
Отлично, это работает точно так, как я надеялся. Письма были только идентификаторами данных, ничего важного. Благодарю. – Mark