2016-10-13 4 views
-6

특정 총계에 도달하지 않으면 다른 변수의 내용에 따라 숫자를 곱하는 함수를 작성하려면 어떻게해야합니까?총계에 도달 할 때까지 곱하는 함수를 만드는 방법은 무엇입니까?

x * 1.45 (1000에 도달 할 때까지), 1000에 도달하면 중지됩니다.

편집 : 더 컨텍스트를 들어

, 이것은 제가 다음 주어진 빈곤 속에서 개인의 수를 계산하는 것을 시도하고있다 : 6 세 미만의 어린이와 가족을위한

, 제안이 단계적 것 수익의 첫 번째 달러 으로 시작하는 소득 1 달러당 45 센트의 CTC 비율.

자녀가있는 가족의 경우 단계적 수입은 달러 당 15 센트입니다. 다음은

내가 현재 가지고있는,하지만 꽤 잘되지 않습니다 :

y <- 
    svrepdesign(
     weights = ~marsupwt, 
     repweights = "pwwgt[1-9]", 
     type = "Fay", 
     rho = (1-1/sqrt(4)), 
     data = "asec15" , 
     combined.weights = T , 
     dbtype = "MonetDBLite" , 
     dbname = dbfolder 
    ) 

    f = function(x) if (x < 1000) exp(seq(log(x), log(1000), by=log(1.15))) else x 
    c = function(x) if (x < 2000) exp(seq(log(x), log(2000), by=log(1.45))) else x 

CTC_Update <-subset( 
     y , 
      (spmu_numkids == 0 & spmu_resources < spmu_povthreshold) | 
      (spmu_numkids == 1 & fownu6 == 0 & spmu_resources - spmu_actc + 1*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 2 & fownu6 == 0 & spmu_resources - spmu_actc + 2*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 3 & fownu6 == 0 & spmu_resources - spmu_actc + 3*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 4 & fownu6 == 0 & spmu_resources - spmu_actc + 4*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 5 & fownu6 == 0 & spmu_resources - spmu_actc + 5*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 6 & fownu6 == 0 & spmu_resources - spmu_actc + 6*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 7 & fownu6 == 0 & spmu_resources - spmu_actc + 7*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 8 & fownu6 == 0 & spmu_resources - spmu_actc + 8*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 9 & fownu6 == 0 & spmu_resources - spmu_actc + 9*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 10 & fownu6 == 0 & spmu_resources - spmu_actc + 10*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 11 & fownu6 == 0 & spmu_resources - spmu_actc + 11*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 12 & fownu6 == 0 & spmu_resources - spmu_actc + 12*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 13 & fownu6 == 0 & spmu_resources - spmu_actc + 13*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 14 & fownu6 == 0 & spmu_resources - spmu_actc + 14*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 15 & fownu6 == 0 & spmu_resources - spmu_actc + 15*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 16 & fownu6 == 0 & spmu_resources - spmu_actc + 16*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 17 & fownu6 == 0 & spmu_resources - spmu_actc + 17*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 18 & fownu6 == 0 & spmu_resources - spmu_actc + 18*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 19 & fownu6 == 0 & spmu_resources - spmu_actc + 19*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids >= 20 & fownu6 == 0 & spmu_resources - spmu_actc + 20*f(ftotval) + 0*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 1 & fownu6 == 1 & spmu_resources - spmu_actc + 1*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 2 & fownu6 == 1 & spmu_resources - spmu_actc + 2*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 3 & fownu6 == 1 & spmu_resources - spmu_actc + 3*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 4 & fownu6 == 1 & spmu_resources - spmu_actc + 4*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 5 & fownu6 == 1 & spmu_resources - spmu_actc + 5*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 6 & fownu6 == 1 & spmu_resources - spmu_actc + 6*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 7 & fownu6 == 1 & spmu_resources - spmu_actc + 7*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 8 & fownu6 == 1 & spmu_resources - spmu_actc + 8*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 9 & fownu6 == 1 & spmu_resources - spmu_actc + 9*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 10 & fownu6 == 1 & spmu_resources - spmu_actc + 10*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 11 & fownu6 == 1 & spmu_resources - spmu_actc + 11*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 12 & fownu6 == 1 & spmu_resources - spmu_actc + 12*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 13 & fownu6 == 1 & spmu_resources - spmu_actc + 13*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 14 & fownu6 == 1 & spmu_resources - spmu_actc + 14*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 15 & fownu6 == 1 & spmu_resources - spmu_actc + 15*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 16 & fownu6 == 1 & spmu_resources - spmu_actc + 16*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 17 & fownu6 == 1 & spmu_resources - spmu_actc + 17*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 18 & fownu6 == 1 & spmu_resources - spmu_actc + 18*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 19 & fownu6 == 1 & spmu_resources - spmu_actc + 19*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids >= 20 & fownu6 == 1 & spmu_resources - spmu_actc + 20*f(ftotval) + 1*c(ftotval) < spmu_povthreshold) |  
      (spmu_numkids == 1 & fownu6 == 2 & spmu_resources - spmu_actc + 1*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 2 & fownu6 == 2 & spmu_resources - spmu_actc + 2*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 3 & fownu6 == 2 & spmu_resources - spmu_actc + 3*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 4 & fownu6 == 2 & spmu_resources - spmu_actc + 4*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 5 & fownu6 == 2 & spmu_resources - spmu_actc + 5*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 6 & fownu6 == 2 & spmu_resources - spmu_actc + 6*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 7 & fownu6 == 2 & spmu_resources - spmu_actc + 7*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 8 & fownu6 == 2 & spmu_resources - spmu_actc + 8*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 9 & fownu6 == 2 & spmu_resources - spmu_actc + 9*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 10 & fownu6 == 2 & spmu_resources - spmu_actc + 10*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 11 & fownu6 == 2 & spmu_resources - spmu_actc + 11*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 12 & fownu6 == 2 & spmu_resources - spmu_actc + 12*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 13 & fownu6 == 2 & spmu_resources - spmu_actc + 13*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 14 & fownu6 == 2 & spmu_resources - spmu_actc + 14*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 15 & fownu6 == 2 & spmu_resources - spmu_actc + 15*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 16 & fownu6 == 2 & spmu_resources - spmu_actc + 16*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 17 & fownu6 == 2 & spmu_resources - spmu_actc + 17*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 18 & fownu6 == 2 & spmu_resources - spmu_actc + 18*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 19 & fownu6 == 2 & spmu_resources - spmu_actc + 19*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids >= 20 & fownu6 == 2 & spmu_resources - spmu_actc + 20*f(ftotval) + 2*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 1 & fownu6 == 3 & spmu_resources - spmu_actc + 1*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 2 & fownu6 == 3 & spmu_resources - spmu_actc + 2*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 3 & fownu6 == 3 & spmu_resources - spmu_actc + 3*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 4 & fownu6 == 3 & spmu_resources - spmu_actc + 4*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 5 & fownu6 == 3 & spmu_resources - spmu_actc + 5*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 6 & fownu6 == 3 & spmu_resources - spmu_actc + 6*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 7 & fownu6 == 3 & spmu_resources - spmu_actc + 7*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 8 & fownu6 == 3 & spmu_resources - spmu_actc + 8*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 9 & fownu6 == 3 & spmu_resources - spmu_actc + 9*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 10 & fownu6 == 3 & spmu_resources - spmu_actc + 10*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 11 & fownu6 == 3 & spmu_resources - spmu_actc + 11*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 12 & fownu6 == 3 & spmu_resources - spmu_actc + 12*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 13 & fownu6 == 3 & spmu_resources - spmu_actc + 13*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 14 & fownu6 == 3 & spmu_resources - spmu_actc + 14*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 15 & fownu6 == 3 & spmu_resources - spmu_actc + 15*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 16 & fownu6 == 3 & spmu_resources - spmu_actc + 16*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 17 & fownu6 == 3 & spmu_resources - spmu_actc + 17*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 18 & fownu6 == 3 & spmu_resources - spmu_actc + 18*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 19 & fownu6 == 3 & spmu_resources - spmu_actc + 19*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids >= 20 & fownu6 == 3 & spmu_resources - spmu_actc + 20*f(ftotval) + 3*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 1 & fownu6 == 4 & spmu_resources - spmu_actc + 1*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 2 & fownu6 == 4 & spmu_resources - spmu_actc + 2*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 3 & fownu6 == 4 & spmu_resources - spmu_actc + 3*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 4 & fownu6 == 4 & spmu_resources - spmu_actc + 4*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 5 & fownu6 == 4 & spmu_resources - spmu_actc + 5*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 6 & fownu6 == 4 & spmu_resources - spmu_actc + 6*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 7 & fownu6 == 4 & spmu_resources - spmu_actc + 7*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 8 & fownu6 == 4 & spmu_resources - spmu_actc + 8*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 9 & fownu6 == 4 & spmu_resources - spmu_actc + 9*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 10 & fownu6 == 4 & spmu_resources - spmu_actc + 10*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 11 & fownu6 == 4 & spmu_resources - spmu_actc + 11*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 12 & fownu6 == 4 & spmu_resources - spmu_actc + 12*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 13 & fownu6 == 4 & spmu_resources - spmu_actc + 13*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 14 & fownu6 == 4 & spmu_resources - spmu_actc + 14*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 15 & fownu6 == 4 & spmu_resources - spmu_actc + 15*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 16 & fownu6 == 4 & spmu_resources - spmu_actc + 16*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 17 & fownu6 == 4 & spmu_resources - spmu_actc + 17*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 18 & fownu6 == 4 & spmu_resources - spmu_actc + 18*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 19 & fownu6 == 4 & spmu_resources - spmu_actc + 19*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids >= 20 & fownu6 == 4 & spmu_resources - spmu_actc + 20*f(ftotval) + 4*c(ftotval) < spmu_povthreshold) |    
      (spmu_numkids == 1 & fownu6 == 5 & spmu_resources - spmu_actc + 1*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 2 & fownu6 == 5 & spmu_resources - spmu_actc + 2*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 3 & fownu6 == 5 & spmu_resources - spmu_actc + 3*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 4 & fownu6 == 5 & spmu_resources - spmu_actc + 4*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 5 & fownu6 == 5 & spmu_resources - spmu_actc + 5*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 6 & fownu6 == 5 & spmu_resources - spmu_actc + 6*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 7 & fownu6 == 5 & spmu_resources - spmu_actc + 7*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 8 & fownu6 == 5 & spmu_resources - spmu_actc + 8*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 9 & fownu6 == 5 & spmu_resources - spmu_actc + 9*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 10 & fownu6 == 5 & spmu_resources - spmu_actc + 10*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 11 & fownu6 == 5 & spmu_resources - spmu_actc + 11*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 12 & fownu6 == 5 & spmu_resources - spmu_actc + 12*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 13 & fownu6 == 5 & spmu_resources - spmu_actc + 13*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 14 & fownu6 == 5 & spmu_resources - spmu_actc + 14*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 15 & fownu6 == 5 & spmu_resources - spmu_actc + 15*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 16 & fownu6 == 5 & spmu_resources - spmu_actc + 16*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 17 & fownu6 == 5 & spmu_resources - spmu_actc + 17*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 18 & fownu6 == 5 & spmu_resources - spmu_actc + 18*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 19 & fownu6 == 5 & spmu_resources - spmu_actc + 19*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids >= 20 & fownu6 == 5 & spmu_resources - spmu_actc + 20*f(ftotval) + 5*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 1 & fownu6 == 6 & spmu_resources - spmu_actc + 1*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 2 & fownu6 == 6 & spmu_resources - spmu_actc + 2*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 3 & fownu6 == 6 & spmu_resources - spmu_actc + 3*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 4 & fownu6 == 6 & spmu_resources - spmu_actc + 4*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 5 & fownu6 == 6 & spmu_resources - spmu_actc + 5*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 6 & fownu6 == 6 & spmu_resources - spmu_actc + 6*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 7 & fownu6 == 6 & spmu_resources - spmu_actc + 7*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 8 & fownu6 == 6 & spmu_resources - spmu_actc + 8*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 9 & fownu6 == 6 & spmu_resources - spmu_actc + 9*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 10 & fownu6 == 6 & spmu_resources - spmu_actc + 10*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 11 & fownu6 == 6 & spmu_resources - spmu_actc + 11*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 12 & fownu6 == 6 & spmu_resources - spmu_actc + 12*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 13 & fownu6 == 6 & spmu_resources - spmu_actc + 13*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 14 & fownu6 == 6 & spmu_resources - spmu_actc + 14*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 15 & fownu6 == 6 & spmu_resources - spmu_actc + 15*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 16 & fownu6 == 6 & spmu_resources - spmu_actc + 16*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 17 & fownu6 == 6 & spmu_resources - spmu_actc + 17*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 18 & fownu6 == 6 & spmu_resources - spmu_actc + 18*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids == 19 & fownu6 == 6 & spmu_resources - spmu_actc + 19*f(ftotval) + 6*c(ftotval) < spmu_povthreshold) | 
      (spmu_numkids >= 20 & fownu6 == 6 & spmu_resources - spmu_actc + 20*f(ftotval) + 6*c(ftotval) < spmu_povthreshold)) 
+0

루프에 익숙해 져야합니다. "제어 명령문"과 원하는 언어를 사용하는 것이 좋습니다. – suffi

+1

코드를 포함하는 것이 좋지만 무엇보다 ob 유해 댓글 작성자는 이전에 코드를 실행할 수 있어야한다고 강조했습니다. 일반적으로 가장 좋은 방법은 프로젝트의 전체 코드를 제공하는 대신 중심적인 문제를 보여주는 최소한의 재현 가능한 예제를 만드는 것입니다. 여기에 몇 가지 지침이 있습니다 : http://stackoverflow.com/a/28481250/ – Frank

+1

@Frank와 동의하십시오. 알 수 있듯이 충분한 정보를 제공 받으면 대부분의 사람들이 도움을 얻을 것입니다. 그러나 우리는 주어진 것에 대해서만 일할 수 있습니다. 나 자신에 대해 말하면, 질문의 명확성을 향상시키려는 귀하의 노력에 감사하지만 실제로 문제가 무엇인지 정확히 이해하기 위해 지금은 힘을 씁니다. 프랭크가 준 링크를주의 깊게 읽은 다음 가능한 한 좋은 질문을하기 위해 시간을 들여야합니다. 그렇다면 당신은 좋은 대답으로 보상을 얻을 것입니다. – dww

답변

2

이 당신이 원하는 무엇인가? 당신의 주어진 예를 x <- x, y <- .45threshhold <- 1000에서

MultiplyUntil <- function(x,y,threshhold) { 
    repeat 
    { 
     print(x) 
     x <- x * y 
     if (x < threshhold) 
     { 
      print(x) 
      break 
     } 
     if (x > threshhold & y > 1) 
     { 
      print("Will go to infinity") 
      break 
     } 
    } 
} 

:

# with x = 10000 
MultiplyUntil(10000, .45, 1000) 
# [1] 10000 
# [1] 4500 
# [1] 2025 
# [1] 911.25 
+0

다시 한번 살펴 보시겠습니까? 나는 나의 코드를 게시하고 명확하게했다. 고맙습니다! –

5

내가 할 거라고 ...

f = function(x) if (x > 1000) exp(seq(log(x), log(1000), by=log(.45))) else x 

# example 
f(100000) 
[1] 100000.000 45000.000 20250.000 9112.500 4100.625 1845.281 

seq(from, to, by) 통과하지 않습니다 to (1,000 지난 다음 수를 보여주는). 그러나 원한다면 벡터 끝에 추가하십시오 (다시 .45로 나눔).

explog 사업에서 온다 ..

log(x*.45^y) = log(x) + y*log(.45) 
+0

도움 주셔서 감사합니다. –

+0

사실, 나는 그것을 올바르게 설명하지 못했습니다. 내 코드를 게시했습니다. 다른 모습을 드시겠습니까? –

3

이것은 재귀 함수에 대한 적합 작업입니다 :

f <- function(x, coeff, threshold){ 
    t <- tail(x,1) 
    if (t*coeff<threshold) 
     return(x) 
    f(c(x, t*coeff), coeff, threshold) 
} 

f(x = 100000, coeff = 0.45, threshold = 1000) 

#[1] 100000.000 45000.000 20250.000 9112.500 4100.625 1845.281 
+0

도움을 주셔서 감사합니다. 그러나 상황을 적절히 설명하지 않았습니다. 내 게시물을 업데이트했습니다. 다른 모습을 드시겠습니까? –

2

첫째, 우리는 주어진 시작 값을 곱하는 함수를 정의 주어진 임계 값을 지나치지 않고 우리가 할 수있는만큼 많은 횟수로 r (기하 급수를 만들기 위해)

이제

12,743,210는,

당신의 예에이를 적용하는 "X * 1.45가 1000에 도달하고, 1000에 도달하면, 다음 멈출 때까지."의 시작 값 ( x)에 대한

, 당신은 또한 초과 할 주먹 값이 시리즈의 다음 값을 포함하고 싶었 우리가 경우

x = 10  
f(x, 1.45, 1000) 
# [1] 10.00000 14.50000 21.02500 30.48625 44.20506 64.09734 92.94114 
# [8] 134.76466 195.40876 283.34269 410.84691 595.72802 863.80562 

을 할 수있는, 10 말 문턱 값을 입력하면 을 사용하고 floor

+0

불행히도, 나는 명확하지 않았다. 다른 모습을 드시겠습니까? –