0

I want to calculate the derivative of the following function:

(plogis(-0.17283 + 0.0000471*x[1])*exp(9.53643)*(x[1])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[2])*exp(9.53643)*(x[2])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[3])*exp(9.53643)*(x[3])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[4])*exp(9.53643)*(x[4])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[5])*exp(9.53643)*(x[5])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[6])*exp(9.53643)*(x[6])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[7])*exp(9.53643)*(x[7])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[8])*exp(9.53643)*(x[8])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[9])*exp(9.53643)*(x[9])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[10])*exp(9.53643)*(x[10])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[11])*exp(9.53643)*(x[11])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[12])*exp(9.53643)*(x[12])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[13])*exp(9.53643)*(x[13])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[14])*exp(9.53643)*(x[14])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[15])*exp(9.53643)*(x[15])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[16])*exp(9.53643)*(x[16])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[17])*exp(9.53643)*(x[17])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[18])*exp(9.53643)*(x[18])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[19])*exp(9.53643)*(x[19])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[20])*exp(9.53643)*(x[20])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[21])*exp(9.53643)*(x[21])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[22])*exp(9.53643)*(x[22])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[23])*exp(9.53643)*(x[23])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[24])*exp(9.53643)*(x[24])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[25])*exp(9.53643)*(x[25])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[26])*exp(9.53643)*(x[26])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[27])*exp(9.53643)*(x[27])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[28])*exp(9.53643)*(x[28])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[29])*exp(9.53643)*(x[29])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[30])*exp(9.53643)*(x[30])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[31])*exp(9.53643)*(x[31])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[32])*exp(9.53643)*(x[32])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[33])*exp(9.53643)*(x[33])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[34])*exp(9.53643)*(x[34])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[35])*exp(9.53643)*(x[35])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[36])*exp(9.53643)*(x[36])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[37])*exp(9.53643)*(x[37])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[38])*exp(9.53643)*(x[38])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[39])*exp(9.53643)*(x[39])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[40])*exp(9.53643)*(x[40])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[41])*exp(9.53643)*(x[41])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[42])*exp(9.53643)*(x[42])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[43])*exp(9.53643)*(x[43])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[44])*exp(9.53643)*(x[44])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[45])*exp(9.53643)*(x[45])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[46])*exp(9.53643)*(x[46])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[47])*exp(9.53643)*(x[47])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[48])*exp(9.53643)*(x[48])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[49])*exp(9.53643)*(x[49])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[50])*exp(9.53643)*(x[50])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[51])*exp(9.53643)*(x[51])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[52])*exp(9.53643)*(x[52])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[53])*exp(9.53643)*(x[53])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[54])*exp(9.53643)*(x[54])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[55])*exp(9.53643)*(x[55])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[56])*exp(9.53643)*(x[56])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[57])*exp(9.53643)*(x[57])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[58])*exp(9.53643)*(x[58])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[59])*exp(9.53643)*(x[59])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[60])*exp(9.53643)*(x[60])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[61])*exp(9.53643)*(x[61])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[62])*exp(9.53643)*(x[62])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[63])*exp(9.53643)*(x[63])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[64])*exp(9.53643)*(x[64])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[65])*exp(9.53643)*(x[65])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[66])*exp(9.53643)*(x[66])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[67])*exp(9.53643)*(x[67])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[68])*exp(9.53643)*(x[68])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[69])*exp(9.53643)*(x[69])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[70])*exp(9.53643)*(x[70])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[71])*exp(9.53643)*(x[71])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[72])*exp(9.53643)*(x[72])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[73])*exp(9.53643)*(x[73])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[74])*exp(9.53643)*(x[74])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[75])*exp(9.53643)*(x[75])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[76])*exp(9.53643)*(x[76])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[77])*exp(9.53643)*(x[77])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[78])*exp(9.53643)*(x[78])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[79])*exp(9.53643)*(x[79])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[80])*exp(9.53643)*(x[80])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[81])*exp(9.53643)*(x[81])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[82])*exp(9.53643)*(x[82])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[83])*exp(9.53643)*(x[83])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[84])*exp(9.53643)*(x[84])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[85])*exp(9.53643)*(x[85])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[86])*exp(9.53643)*(x[86])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[87])*exp(9.53643)*(x[87])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[88])*exp(9.53643)*(x[88])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[89])*exp(9.53643)*(x[89])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[90])*exp(9.53643)*(x[90])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[91])*exp(9.53643)*(x[91])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[92])*exp(9.53643)*(x[92])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[93])*exp(9.53643)*(x[93])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[94])*exp(9.53643)*(x[94])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[95])*exp(9.53643)*(x[95])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[96])*exp(9.53643)*(x[96])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[97])*exp(9.53643)*(x[97])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[98])*exp(9.53643)*(x[98])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[99])*exp(9.53643)*(x[99])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[100])*exp(9.53643)*(x[100])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[101])*exp(9.53643)*(x[101])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[102])*exp(9.53643)*(x[102])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[103])*exp(9.53643)*(x[103])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[104])*exp(9.53643)*(x[104])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[105])*exp(9.53643)*(x[105])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[106])*exp(9.53643)*(x[106])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[107])*exp(9.53643)*(x[107])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[108])*exp(9.53643)*(x[108])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[109])*exp(9.53643)*(x[109])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[110])*exp(9.53643)*(x[110])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[111])*exp(9.53643)*(x[111])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[112])*exp(9.53643)*(x[112])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[113])*exp(9.53643)*(x[113])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[114])*exp(9.53643)*(x[114])^0.468)

I attempted to use the R library and function Deriv, as below.

Deriv((plogis(-0.17283 + 0.0000471*x[1])*exp(9.53643)*(x[1])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[2])*exp(9.53643)*(x[2])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[3])*exp(9.53643)*(x[3])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[4])*exp(9.53643)*(x[4])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[5])*exp(9.53643)*(x[5])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[6])*exp(9.53643)*(x[6])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[7])*exp(9.53643)*(x[7])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[8])*exp(9.53643)*(x[8])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[9])*exp(9.53643)*(x[9])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[10])*exp(9.53643)*(x[10])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[11])*exp(9.53643)*(x[11])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[12])*exp(9.53643)*(x[12])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[13])*exp(9.53643)*(x[13])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[14])*exp(9.53643)*(x[14])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[15])*exp(9.53643)*(x[15])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[16])*exp(9.53643)*(x[16])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[17])*exp(9.53643)*(x[17])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[18])*exp(9.53643)*(x[18])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[19])*exp(9.53643)*(x[19])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[20])*exp(9.53643)*(x[20])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[21])*exp(9.53643)*(x[21])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[22])*exp(9.53643)*(x[22])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[23])*exp(9.53643)*(x[23])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[24])*exp(9.53643)*(x[24])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[25])*exp(9.53643)*(x[25])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[26])*exp(9.53643)*(x[26])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[27])*exp(9.53643)*(x[27])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[28])*exp(9.53643)*(x[28])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[29])*exp(9.53643)*(x[29])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[30])*exp(9.53643)*(x[30])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[31])*exp(9.53643)*(x[31])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[32])*exp(9.53643)*(x[32])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[33])*exp(9.53643)*(x[33])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[34])*exp(9.53643)*(x[34])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[35])*exp(9.53643)*(x[35])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[36])*exp(9.53643)*(x[36])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[37])*exp(9.53643)*(x[37])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[38])*exp(9.53643)*(x[38])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[39])*exp(9.53643)*(x[39])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[40])*exp(9.53643)*(x[40])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[41])*exp(9.53643)*(x[41])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[42])*exp(9.53643)*(x[42])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[43])*exp(9.53643)*(x[43])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[44])*exp(9.53643)*(x[44])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[45])*exp(9.53643)*(x[45])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[46])*exp(9.53643)*(x[46])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[47])*exp(9.53643)*(x[47])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[48])*exp(9.53643)*(x[48])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[49])*exp(9.53643)*(x[49])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[50])*exp(9.53643)*(x[50])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[51])*exp(9.53643)*(x[51])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[52])*exp(9.53643)*(x[52])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[53])*exp(9.53643)*(x[53])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[54])*exp(9.53643)*(x[54])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[55])*exp(9.53643)*(x[55])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[56])*exp(9.53643)*(x[56])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[57])*exp(9.53643)*(x[57])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[58])*exp(9.53643)*(x[58])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[59])*exp(9.53643)*(x[59])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[60])*exp(9.53643)*(x[60])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[61])*exp(9.53643)*(x[61])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[62])*exp(9.53643)*(x[62])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[63])*exp(9.53643)*(x[63])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[64])*exp(9.53643)*(x[64])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[65])*exp(9.53643)*(x[65])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[66])*exp(9.53643)*(x[66])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[67])*exp(9.53643)*(x[67])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[68])*exp(9.53643)*(x[68])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[69])*exp(9.53643)*(x[69])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[70])*exp(9.53643)*(x[70])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[71])*exp(9.53643)*(x[71])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[72])*exp(9.53643)*(x[72])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[73])*exp(9.53643)*(x[73])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[74])*exp(9.53643)*(x[74])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[75])*exp(9.53643)*(x[75])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[76])*exp(9.53643)*(x[76])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[77])*exp(9.53643)*(x[77])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[78])*exp(9.53643)*(x[78])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[79])*exp(9.53643)*(x[79])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[80])*exp(9.53643)*(x[80])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[81])*exp(9.53643)*(x[81])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[82])*exp(9.53643)*(x[82])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[83])*exp(9.53643)*(x[83])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[84])*exp(9.53643)*(x[84])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[85])*exp(9.53643)*(x[85])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[86])*exp(9.53643)*(x[86])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[87])*exp(9.53643)*(x[87])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[88])*exp(9.53643)*(x[88])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[89])*exp(9.53643)*(x[89])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[90])*exp(9.53643)*(x[90])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[91])*exp(9.53643)*(x[91])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[92])*exp(9.53643)*(x[92])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[93])*exp(9.53643)*(x[93])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[94])*exp(9.53643)*(x[94])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[95])*exp(9.53643)*(x[95])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[96])*exp(9.53643)*(x[96])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[97])*exp(9.53643)*(x[97])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[98])*exp(9.53643)*(x[98])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[99])*exp(9.53643)*(x[99])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[100])*exp(9.53643)*(x[100])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[101])*exp(9.53643)*(x[101])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[102])*exp(9.53643)*(x[102])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[103])*exp(9.53643)*(x[103])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[104])*exp(9.53643)*(x[104])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[105])*exp(9.53643)*(x[105])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[106])*exp(9.53643)*(x[106])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[107])*exp(9.53643)*(x[107])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[108])*exp(9.53643)*(x[108])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[109])*exp(9.53643)*(x[109])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[110])*exp(9.53643)*(x[110])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[111])*exp(9.53643)*(x[111])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[112])*exp(9.53643)*(x[112])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[113])*exp(9.53643)*(x[113])^0.468)+
        (plogis(-0.17283 + 0.0000471*x[114])*exp(9.53643)*(x[114])^0.468),
      c("x[1]","x[2]","x[3]","x[4]","x[5]","x[6]","x[7]","x[8]","x[9]","x[10]","x[11]","x[12]","x[13]","x[14]","x[15]","x[16]","x[17]","x[18]","x[19]","x[20]","x[21]","x[22]","x[23]","x[24]","x[25]","x[26]","x[27]","x[28]","x[29]","x[30]","x[31]","x[32]","x[33]","x[34]","x[35]","x[36]","x[37]","x[38]","x[39]","x[40]","x[41]","x[42]","x[43]","x[44]","x[45]","x[46]","x[47]","x[48]","x[49]","x[50]","x[51]","x[52]","x[53]","x[54]","x[55]","x[56]","x[57]","x[58]","x[59]","x[60]","x[61]","x[62]","x[63]","x[64]","x[65]","x[66]","x[67]","x[68]","x[69]","x[70]","x[71]","x[72]","x[73]","x[74]","x[75]","x[76]","x[77]","x[78]","x[79]","x[80]","x[81]","x[82]","x[83]","x[84]","x[85]","x[86]","x[87]","x[88]","x[89]","x[90]","x[91]","x[92]","x[93]","x[94]","x[95]","x[96]","x[97]","x[98]","x[99]","x[100]","x[101]","x[102]","x[103]","x[104]","x[105]","x[106]","x[107]","x[108]","x[109]","x[110]","x[111]","x[112]","x[113]","x[114]"))

And this gives me a result that is not a derivative:

  x[1]   x[2]   x[3]   x[4]   x[5]   x[6]   x[7]   x[8]   x[9]  x[10]  x[11]  x[12]  x[13]  x[14] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
 x[15]  x[16]  x[17]  x[18]  x[19]  x[20]  x[21]  x[22]  x[23]  x[24]  x[25]  x[26]  x[27]  x[28] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
 x[29]  x[30]  x[31]  x[32]  x[33]  x[34]  x[35]  x[36]  x[37]  x[38]  x[39]  x[40]  x[41]  x[42] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
 x[43]  x[44]  x[45]  x[46]  x[47]  x[48]  x[49]  x[50]  x[51]  x[52]  x[53]  x[54]  x[55]  x[56] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
 x[57]  x[58]  x[59]  x[60]  x[61]  x[62]  x[63]  x[64]  x[65]  x[66]  x[67]  x[68]  x[69]  x[70] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
 x[71]  x[72]  x[73]  x[74]  x[75]  x[76]  x[77]  x[78]  x[79]  x[80]  x[81]  x[82]  x[83]  x[84] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
 x[85]  x[86]  x[87]  x[88]  x[89]  x[90]  x[91]  x[92]  x[93]  x[94]  x[95]  x[96]  x[97]  x[98] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
 x[99] x[100] x[101] x[102] x[103] x[104] x[105] x[106] x[107] x[108] x[109] x[110] x[111] x[112] 
     0      0      0      0      0      0      0      0      0      0      0      0      0      0 
x[113] x[114] 
     0      0 

Am I doing something wrong, or does anyone know of any other ways to approach this?

For some background, I am trying to allocate 80M of investment (x) between 114 products in a way that maximizes revenue (y). The predicted revenue for each product and investment level is based off a two-part model i.e. it is the result of multiplying the predicted probability of any revenue being generated, by the predicted level of revenue, conditional on revenue being generated. Each line of the function above therefore represents the fitted model for each product, and the overall function is the objective function that I am trying to optimize, according to the constraint that the investment in each product adds up to 80M. I need to calculate the derivative because the optimization solver that I want to use (IPOPT in the R interface ipoptr) requires you to supply the derivative.

  • 1
    For a very simple approach, have you tried `diff()`? – mhovd Aug 08 '22 at 09:52
  • @mhovd Thanks! Do you mean this function? https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/diff I don't quite understand how this would give me the derivative. I have tried it but it gives me a result of 0 and the same warning messages – user16993967 Aug 08 '22 at 10:50
  • please describe your error, and simplify your function for debugging purposes, by editing your question – gaut Aug 08 '22 at 10:53
  • @gaut Thank you - I have now simplified my function which has got rid of the warning messages. It still does not seem to be giving me the result I am looking for – user16993967 Aug 08 '22 at 12:33
  • Looks like an X/Y problem. Why are you doing this? Did you notice that your function is of the form sum_i (f(x_i)), therefore its jacobian is trivial once you have the derivative of f, which is easy? –  Aug 08 '22 at 12:41
  • @Jean-ClaudeArbaut I need to find the derivative so that I can use the optimization solver IPOPT to maximize the above function according to a linear constraint. Essentially each line in the function is the predicted level of revenue for a particular product. There is more context in the last paragraph of my post. My calculus is a bit rusty, so it is not obvious to me how I would go about finding the derivative of f. Do you know of any recommended reading materials that could help me with this? – user16993967 Aug 08 '22 at 13:16
  • You have everything you need [here](https://en.wikibooks.org/wiki/Calculus/Tables_of_Derivatives), and it's even simplified if you notice that the derivative of `plogis` is `dlogis`. Bear in mind that the derivative of f(a+b⋅x) is b⋅f'(a+b⋅x), and that x^a = exp(a⋅log(x)). –  Aug 08 '22 at 14:06
  • @Jean-ClaudeArbaut Thank you! I have used the the third general rule in your link to work out the derivative of the first line as 0.0000471*dlogis(-0.17283 + 0.0000471*x[1])*exp(9.53643)*(x[1])^0.468) + plogis(-0.17283 + 0.0000471*x[1])*0.468*x[1]^(-1)*exp(9.53643+0.468*x[1]). If you have time, could you double-check this? – user16993967 Aug 12 '22 at 16:29
  • Little mistake in the second term, you forgot a log. My previous comment was a bit misleading: the derivative of x^s is of course s*x^(s-1), no need for the exp/log if you know the derivative beforehand. Therefore you get plogis(-0.17283 + 0.0000471*x[1])*exp(9.53643)*0.468*x^(-0.532) for the second term. In exponential it would be plogis(-0.17283 + 0.0000471*x[1])*0.468*x[1]^(-1)*exp(9.53643+0.468*log(x[1])). (note the log inside exp()) –  Aug 13 '22 at 17:19
  • Thank you very much for your patience with this, @Jean-ClaudeArbaut! This has helped a lot. – user16993967 Aug 15 '22 at 10:17
  • @Jean-ClaudeArbaut Can I also just confirm that the total derivative would then simply be the partial derivative with respect to x[1] + the partial derivative with respect to x[2] + the partial derivative with respect to x[3] etc. So essentially I would just be adding up the partial derivative of each line in the function above? – user16993967 Aug 15 '22 at 19:01
  • No. The [total derivative](https://en.wikipedia.org/wiki/Total_derivative) of a scalar function of several variables is not a single number, but a linear function, that is basically defined as the dot product of its argument with the gradient vector. That is, f'(u) = grad(f) . u, and for a given u, the derivative is thus the sum of df/dxi * ui. –  Aug 15 '22 at 20:30

0 Answers0