각 A 수에 대해 B의 난수를 할당하려고합니다. 조건은 B의 할당 된 수를 A의 해당 수보다 커야한다는 것입니다. 여기에 있습니다. 내 코드 야. 더 빠르게 수행 할 수있는 방법이 있습니까?
최악의 결과로 for 루프 및 다른 방법을 시도했습니다! 감사합니다.조건부 방식으로 R에서 sample()을 사용합니다.
set.seed(123)
A <- rlnorm(10000,5,1)
B <- rlnorm(100000,10,2)
df <- data.frame(NumPol=1:length(B), Cap=B)
pol_sel <- sapply(1:length(A), FUN = function(i) {
sample(df$NumPol[which(df$Cap > A[i])], size=1, replace=TRUE) })
확실하지 않습니다. 완전히 이해합니다. A와 B가 서로 다른 크기라면, "B의 숫자는 A의 해당 숫자보다 커야합니다"라는 의미는 무엇입니까? –
B를 얻기 위해 A에 추가 할 양수를 임의로 선택하지 않는 이유는 무엇입니까? – MrFlick
감사합니다. Matt. 예, A와 B는 크기가 다릅니다. B가 더 큽니다. A의 각 값에 대해 A의 해당 값보다 큰 B의 난수를 찾고 싶습니다. –