숫자가 있습니다 (예 :). 나는이 같은 것을 사용하여 5 개 정수에이 번호를 분할 할 :정수로 된 숫자를 app으로 나누는 함수. 같은 크기
foo(10, 3)
[1] 3.333333 3.333333 3.333333
이 경우 내가 같은 출력을 좋아 woud : x
이 n
의 mutliple이 아닌 때까지
foo <- function(x, n) rep(x/n, n)
foo(10, 5)
[1] 2 2 2 2 2
이 작동합니다.
[1] 3 4 3 # the order doesn't matter.
각 정수의 차이는 최소화되어야합니다. 나는이 기능을 사용하고 지금까지
[1] 2 5 3
을하지만,이 항상 정확 여부를 확인하지 : 그래서이 결과는 허용되지 않습니다
이 는foo <- function(x, n){
res <- rep(x/n, n)
res <- floor(res) # rounding
Diff <- x-sum(res) # Difference of the sum to the input
gr <- sample(1:n, Diff) # select by chance as many values as `Diff` is
res[gr] <- res[gr]+1 # plus one
res
}
가
덕분에, A는'조건 –
if' 유클리드 부문이 좋은 지점입니다 추가했다. 감사. 나는 의도적으로 을 "by-cance-approach"로 선택했다. – Jimbou