R: среднее / среднее значение вектора с использованием mpfr - PullRequest
0 голосов
/ 21 марта 2020

У меня есть вектор:

c(0, 0, -0.00426086269980885, -0.0171883361787684, 0, 0.00144261723538186, 
        -0.00433411019126062, 0.00144679156901439, 0.0100822459425949, 
        0.0099816080711328, -0.0157359963029773, -0.00288315632388603, 
        0.00432162324420649, -0.00721311620008525, 0.0215106455827421, 
        -0.0071232124906615, -0.00717431689199532, -0.0101129941384546, 
        -0.0072998774915094, -0.00734028331959991, -0.0029645801177054, 
        -0.0361398560956312, 0.059535967918694, -0.014555000996034, -0.0237432369256014, 
        0.00897325497629353, -0.0134834715407033, -0.00453065081556225, 
        0.00904086737997201, 0, 0.00897325497629353, 0.0103658246132836, 
        0.00293825901286748, 0.0014658983231568, 0.0131102996091697, 
        -0.00434666950738372, 0.00867452721813411, 0.00575438823184449, 
        0.00713072754549238, -0.00570050845244285, 0.032367744813719, 
        -0.0224003315648895, -0.00426690479638658, -0.00856299509528746, 
        -0.0320803144128314, -0.00593767207121676, -0.00898667487078519, 
        0.042682540672784, 0, -0.00867452721813411, 0.0172873110304499, 
        -0.0100533229008199, 0.0200065816431954, -0.0113814352297972, 
        0.0156115438602651, 0.0153715651969968, 0, 0.0246591214936727, 
        0.00540492616309773, -0.00134546290274429, -0.00541222291310994, 
        0.0187980455874044, 0.00793919867215731, -0.0159539973780527, 
        -0.046651009916145, 0.00421308190323977, 0.0111281244997983, 
        0.0055117761038721, -0.00137509854859985, 0.020454826377061, 
        0.00269273851511898, -0.0135490703741734, -0.00410940942736904, 
        -0.0193576517224336, 0.015243665180396, -0.00137509854859985, 
        0.0123205855863757, -0.0095722767888935, -0.00828015580561559, 
        -0.00277119138772619, -0.00138848083750265, 0.00555484167808995, 
        0.0137351720732788, -0.0347046257643022, 0, -0.0142236796686062, 
        -0.00575438823184449, 0, 0, -0.00867452721813411, -0.0146401608111093, 
        0.0218741489407392, -0.0116127724770649, -0.00878900309037522, 
        0.0102463560867569, -0.0161622351615947, 0.010320036410862, 0.0188766242402405, 
        -0.00721311620008525, -0.00435297650073618, -0.00292568578506813, 
        -0.00585074407750774, 0.0014658983231568, -0.0147699819493079, 
        0, 0.00148551649006734, -0.0164769253635333, 0.0209202799957451, 
        -0.00444335463221179, 0.00740793474991719, 0, -0.00740793474991719, 
        0, 0.00296442904837857, -0.00593767207121676, -0.00298210956584821, 
        0.026550349587346, 0, 0.0272796463542244, -0.00141602427074616, 
        -0.0171765353914815, -0.00578299799930626, 0.00144888780804564, 
        0.00144679156901439, -0.00579976806975058, 0.0144497464625504, 
        -0.0144497464625504, -0.00146833278868641, 0.0187805658940814, 
        -0.01006776364878, -0.00579137089424808, 0.0384939243098099, 
        0.0357196284321315, -0.0094943601026829, 0.0202220805588311, 
        -0.0147926677568835, 0.00944319295810203, -0.0148726057600497, 
        0.0108416357150576, 0, -0.0176824660638335, -0.00965148293373552, 
        -0.00555008362262299, -0.0126141662743384, -0.0099250699919331, 
        0.0113331189354406, 0.0112061173308309, -0.0126141662743384, 
        -0.0257159599524019, -0.0428716904319435, -0.0198406947735075, 
        -0.0249516254684341, 0.0493093277118515, -0.00906816810262079, 
        -0.00455824865790699, -0.00917930778590481, 0.0480501078992965, 
        0.0416403776341081, -0.0416403776341081, -0.0282534534900112, 
        0.0119957450079324, -0.019571951737646, -0.0168558039774203, 
        -0.0218682468675704, 0.010986868435193, 0.00623841086741272, 
        0, 0.0260568262971015, -0.0167785024342884, -0.0046353562978485, 
        0.00617110423899714, -0.00308772563813342, 0.00308772563813342, 
        0.025766672432173, -0.0135648639295098, 0.00756476484650648, 
        -0.00603631769659518, -0.00608669580781829, 0.0181231125874168, 
        -0.0150819726937499, 0.0045580547547166, 0.0135239538217764, 
        0.00594649918772649, 0.00296004162847652, 0, -0.0179066757819495, 
        0.0398580862181479, 0.00144470138686437, -0.0204315317053574, 
        0, -0.00148783852519152, 0.0132065679852476, 0.0259011384240697, 
        0.00143081644809495, -0.00855138897808327, -0.00143021909304952, 
        -0.0173503468010319, -0.00877614740995813, -0.0133237598228533, 
        0, -0.0150138969829294, -0.00607746863551384, 0.0358831757773652, 
        0.00877642986257587, 0, -0.0295548721011007, 0.00149665303570679, 
        0.00894653507046961, 0.0132649050657818, -0.0103048634373053, 
        0.00443695349100448, -0.0118535511460545, -0.0135036823406951, 
        0.0268274421635484, 0.00877614740995813, 0.0187805658940814, 
        -0.0202379188904631, 0.00582977447775868, -0.0175789894666245, 
        0.00443042057528942, 0.0203721059791455, 0.0143051798548823, 
        -0.00569239604256655, -0.00572498501310204, -0.00288779879921375, 
        -0.00144053908850417, 0.00719492732034865, 0.00143021909304952, 
        0.00427842492482444, 0.0113331189354406, 0.0153715651969968, 
        -0.0267046841324374, -0.00285024843740267, 0, -0.00429066313026638, 
        0.0156559472184012, 0.0278544400437779, -0.0166168754292784, 
        0.00278663600103979, 0.0124570291793562, -0.00275209059726578, 
        0.0109754865666725, -0.00136382925358358, 0.00272580100995512, 
        -0.012337458323044, 0.00686607713930343, 0.00136757633846862, 
        -0.00685666142910613, 0.0190935708950324, 0, 0, 0.00136125548202859, 
        -0.0108563318590544, -0.0179015329138661, 0, 0.00554715557660046, 
        0.0137163490936372, -0.00821215747689585, -0.0292664653895374, 
        0)

, который можно вызвать с помощью df$var[1:260]

, когда я вычисляю среднее значение, используя данные напрямую:

mean(c(0, 0, -0.00426086269980885, -0.0171883361787684, 0, 0.00144261723538186, 
            -0.00433411019126062, 0.00144679156901439, 0.0100822459425949, 
            0.0099816080711328, -0.0157359963029773, -0.00288315632388603, 
            0.00432162324420649, -0.00721311620008525, 0.0215106455827421, 
            -0.0071232124906615, -0.00717431689199532, -0.0101129941384546, 
            -0.0072998774915094, -0.00734028331959991, -0.0029645801177054, 
            -0.0361398560956312, 0.059535967918694, -0.014555000996034, -0.0237432369256014, 
            0.00897325497629353, -0.0134834715407033, -0.00453065081556225, 
            0.00904086737997201, 0, 0.00897325497629353, 0.0103658246132836, 
            0.00293825901286748, 0.0014658983231568, 0.0131102996091697, 
            -0.00434666950738372, 0.00867452721813411, 0.00575438823184449, 
            0.00713072754549238, -0.00570050845244285, 0.032367744813719, 
            -0.0224003315648895, -0.00426690479638658, -0.00856299509528746, 
            -0.0320803144128314, -0.00593767207121676, -0.00898667487078519, 
            0.042682540672784, 0, -0.00867452721813411, 0.0172873110304499, 
            -0.0100533229008199, 0.0200065816431954, -0.0113814352297972, 
            0.0156115438602651, 0.0153715651969968, 0, 0.0246591214936727, 
            0.00540492616309773, -0.00134546290274429, -0.00541222291310994, 
            0.0187980455874044, 0.00793919867215731, -0.0159539973780527, 
            -0.046651009916145, 0.00421308190323977, 0.0111281244997983, 
            0.0055117761038721, -0.00137509854859985, 0.020454826377061, 
            0.00269273851511898, -0.0135490703741734, -0.00410940942736904, 
            -0.0193576517224336, 0.015243665180396, -0.00137509854859985, 
            0.0123205855863757, -0.0095722767888935, -0.00828015580561559, 
            -0.00277119138772619, -0.00138848083750265, 0.00555484167808995, 
            0.0137351720732788, -0.0347046257643022, 0, -0.0142236796686062, 
            -0.00575438823184449, 0, 0, -0.00867452721813411, -0.0146401608111093, 
            0.0218741489407392, -0.0116127724770649, -0.00878900309037522, 
            0.0102463560867569, -0.0161622351615947, 0.010320036410862, 0.0188766242402405, 
            -0.00721311620008525, -0.00435297650073618, -0.00292568578506813, 
            -0.00585074407750774, 0.0014658983231568, -0.0147699819493079, 
            0, 0.00148551649006734, -0.0164769253635333, 0.0209202799957451, 
            -0.00444335463221179, 0.00740793474991719, 0, -0.00740793474991719, 
            0, 0.00296442904837857, -0.00593767207121676, -0.00298210956584821, 
            0.026550349587346, 0, 0.0272796463542244, -0.00141602427074616, 
            -0.0171765353914815, -0.00578299799930626, 0.00144888780804564, 
            0.00144679156901439, -0.00579976806975058, 0.0144497464625504, 
            -0.0144497464625504, -0.00146833278868641, 0.0187805658940814, 
            -0.01006776364878, -0.00579137089424808, 0.0384939243098099, 
            0.0357196284321315, -0.0094943601026829, 0.0202220805588311, 
            -0.0147926677568835, 0.00944319295810203, -0.0148726057600497, 
            0.0108416357150576, 0, -0.0176824660638335, -0.00965148293373552, 
            -0.00555008362262299, -0.0126141662743384, -0.0099250699919331, 
            0.0113331189354406, 0.0112061173308309, -0.0126141662743384, 
            -0.0257159599524019, -0.0428716904319435, -0.0198406947735075, 
            -0.0249516254684341, 0.0493093277118515, -0.00906816810262079, 
            -0.00455824865790699, -0.00917930778590481, 0.0480501078992965, 
            0.0416403776341081, -0.0416403776341081, -0.0282534534900112, 
            0.0119957450079324, -0.019571951737646, -0.0168558039774203, 
            -0.0218682468675704, 0.010986868435193, 0.00623841086741272, 
            0, 0.0260568262971015, -0.0167785024342884, -0.0046353562978485, 
            0.00617110423899714, -0.00308772563813342, 0.00308772563813342, 
            0.025766672432173, -0.0135648639295098, 0.00756476484650648, 
            -0.00603631769659518, -0.00608669580781829, 0.0181231125874168, 
            -0.0150819726937499, 0.0045580547547166, 0.0135239538217764, 
            0.00594649918772649, 0.00296004162847652, 0, -0.0179066757819495, 
            0.0398580862181479, 0.00144470138686437, -0.0204315317053574, 
            0, -0.00148783852519152, 0.0132065679852476, 0.0259011384240697, 
            0.00143081644809495, -0.00855138897808327, -0.00143021909304952, 
            -0.0173503468010319, -0.00877614740995813, -0.0133237598228533, 
            0, -0.0150138969829294, -0.00607746863551384, 0.0358831757773652, 
            0.00877642986257587, 0, -0.0295548721011007, 0.00149665303570679, 
            0.00894653507046961, 0.0132649050657818, -0.0103048634373053, 
            0.00443695349100448, -0.0118535511460545, -0.0135036823406951, 
            0.0268274421635484, 0.00877614740995813, 0.0187805658940814, 
            -0.0202379188904631, 0.00582977447775868, -0.0175789894666245, 
            0.00443042057528942, 0.0203721059791455, 0.0143051798548823, 
            -0.00569239604256655, -0.00572498501310204, -0.00288779879921375, 
            -0.00144053908850417, 0.00719492732034865, 0.00143021909304952, 
            0.00427842492482444, 0.0113331189354406, 0.0153715651969968, 
            -0.0267046841324374, -0.00285024843740267, 0, -0.00429066313026638, 
            0.0156559472184012, 0.0278544400437779, -0.0166168754292784, 
            0.00278663600103979, 0.0124570291793562, -0.00275209059726578, 
            0.0109754865666725, -0.00136382925358358, 0.00272580100995512, 
            -0.012337458323044, 0.00686607713930343, 0.00136757633846862, 
            -0.00685666142910613, 0.0190935708950324, 0, 0, 0.00136125548202859, 
            -0.0108563318590544, -0.0179015329138661, 0, 0.00554715557660046, 
            0.0137163490936372, -0.00821215747689585, -0.0292664653895374, 
            0))

возвращает 1.0842021724855044e-19

, когда я предварительно помещаю данные в переменную и затем вычисляю среднее значение:

v1 <- c(0, 0, -0.00426086269980885, -0.0171883361787684, 0, 0.00144261723538186, 
        -0.00433411019126062, 0.00144679156901439, 0.0100822459425949, 
        0.0099816080711328, -0.0157359963029773, -0.00288315632388603, 
        0.00432162324420649, -0.00721311620008525, 0.0215106455827421, 
        -0.0071232124906615, -0.00717431689199532, -0.0101129941384546, 
        -0.0072998774915094, -0.00734028331959991, -0.0029645801177054, 
        -0.0361398560956312, 0.059535967918694, -0.014555000996034, -0.0237432369256014, 
        0.00897325497629353, -0.0134834715407033, -0.00453065081556225, 
        0.00904086737997201, 0, 0.00897325497629353, 0.0103658246132836, 
        0.00293825901286748, 0.0014658983231568, 0.0131102996091697, 
        -0.00434666950738372, 0.00867452721813411, 0.00575438823184449, 
        0.00713072754549238, -0.00570050845244285, 0.032367744813719, 
        -0.0224003315648895, -0.00426690479638658, -0.00856299509528746, 
        -0.0320803144128314, -0.00593767207121676, -0.00898667487078519, 
        0.042682540672784, 0, -0.00867452721813411, 0.0172873110304499, 
        -0.0100533229008199, 0.0200065816431954, -0.0113814352297972, 
        0.0156115438602651, 0.0153715651969968, 0, 0.0246591214936727, 
        0.00540492616309773, -0.00134546290274429, -0.00541222291310994, 
        0.0187980455874044, 0.00793919867215731, -0.0159539973780527, 
        -0.046651009916145, 0.00421308190323977, 0.0111281244997983, 
        0.0055117761038721, -0.00137509854859985, 0.020454826377061, 
        0.00269273851511898, -0.0135490703741734, -0.00410940942736904, 
        -0.0193576517224336, 0.015243665180396, -0.00137509854859985, 
        0.0123205855863757, -0.0095722767888935, -0.00828015580561559, 
        -0.00277119138772619, -0.00138848083750265, 0.00555484167808995, 
        0.0137351720732788, -0.0347046257643022, 0, -0.0142236796686062, 
        -0.00575438823184449, 0, 0, -0.00867452721813411, -0.0146401608111093, 
        0.0218741489407392, -0.0116127724770649, -0.00878900309037522, 
        0.0102463560867569, -0.0161622351615947, 0.010320036410862, 0.0188766242402405, 
        -0.00721311620008525, -0.00435297650073618, -0.00292568578506813, 
        -0.00585074407750774, 0.0014658983231568, -0.0147699819493079, 
        0, 0.00148551649006734, -0.0164769253635333, 0.0209202799957451, 
        -0.00444335463221179, 0.00740793474991719, 0, -0.00740793474991719, 
        0, 0.00296442904837857, -0.00593767207121676, -0.00298210956584821, 
        0.026550349587346, 0, 0.0272796463542244, -0.00141602427074616, 
        -0.0171765353914815, -0.00578299799930626, 0.00144888780804564, 
        0.00144679156901439, -0.00579976806975058, 0.0144497464625504, 
        -0.0144497464625504, -0.00146833278868641, 0.0187805658940814, 
        -0.01006776364878, -0.00579137089424808, 0.0384939243098099, 
        0.0357196284321315, -0.0094943601026829, 0.0202220805588311, 
        -0.0147926677568835, 0.00944319295810203, -0.0148726057600497, 
        0.0108416357150576, 0, -0.0176824660638335, -0.00965148293373552, 
        -0.00555008362262299, -0.0126141662743384, -0.0099250699919331, 
        0.0113331189354406, 0.0112061173308309, -0.0126141662743384, 
        -0.0257159599524019, -0.0428716904319435, -0.0198406947735075, 
        -0.0249516254684341, 0.0493093277118515, -0.00906816810262079, 
        -0.00455824865790699, -0.00917930778590481, 0.0480501078992965, 
        0.0416403776341081, -0.0416403776341081, -0.0282534534900112, 
        0.0119957450079324, -0.019571951737646, -0.0168558039774203, 
        -0.0218682468675704, 0.010986868435193, 0.00623841086741272, 
        0, 0.0260568262971015, -0.0167785024342884, -0.0046353562978485, 
        0.00617110423899714, -0.00308772563813342, 0.00308772563813342, 
        0.025766672432173, -0.0135648639295098, 0.00756476484650648, 
        -0.00603631769659518, -0.00608669580781829, 0.0181231125874168, 
        -0.0150819726937499, 0.0045580547547166, 0.0135239538217764, 
        0.00594649918772649, 0.00296004162847652, 0, -0.0179066757819495, 
        0.0398580862181479, 0.00144470138686437, -0.0204315317053574, 
        0, -0.00148783852519152, 0.0132065679852476, 0.0259011384240697, 
        0.00143081644809495, -0.00855138897808327, -0.00143021909304952, 
        -0.0173503468010319, -0.00877614740995813, -0.0133237598228533, 
        0, -0.0150138969829294, -0.00607746863551384, 0.0358831757773652, 
        0.00877642986257587, 0, -0.0295548721011007, 0.00149665303570679, 
        0.00894653507046961, 0.0132649050657818, -0.0103048634373053, 
        0.00443695349100448, -0.0118535511460545, -0.0135036823406951, 
        0.0268274421635484, 0.00877614740995813, 0.0187805658940814, 
        -0.0202379188904631, 0.00582977447775868, -0.0175789894666245, 
        0.00443042057528942, 0.0203721059791455, 0.0143051798548823, 
        -0.00569239604256655, -0.00572498501310204, -0.00288779879921375, 
        -0.00144053908850417, 0.00719492732034865, 0.00143021909304952, 
        0.00427842492482444, 0.0113331189354406, 0.0153715651969968, 
        -0.0267046841324374, -0.00285024843740267, 0, -0.00429066313026638, 
        0.0156559472184012, 0.0278544400437779, -0.0166168754292784, 
        0.00278663600103979, 0.0124570291793562, -0.00275209059726578, 
        0.0109754865666725, -0.00136382925358358, 0.00272580100995512, 
        -0.012337458323044, 0.00686607713930343, 0.00136757633846862, 
        -0.00685666142910613, 0.0190935708950324, 0, 0, 0.00136125548202859, 
        -0.0108563318590544, -0.0179015329138661, 0, 0.00554715557660046, 
        0.0137163490936372, -0.00821215747689585, -0.0292664653895374, 
        0)
mean(v1)

возвращает 1.0842021724855044e-19

когда я вычисляю среднее значение с использованием переменных:

mean(df$var[1:260])

возвращает 0

Я пытался увеличить цифры параметры options(digits = 21), но все равно возвращает 0. Я смотрю на пакет mpfr, который, насколько я понимаю, используется для вычисления высокоточных чисел больших и малых

при вычислении среднего значения с использованием пакета mpfr

v1 <- mpfr(df$var[1:260], precBit = 45)
sum(v1) / 260

возвращается

1 'mpfr' number of precision  53   bits 
[1] 3.4160708450004819e-18

забавно то, что если precBit выше 45, то возвращается

1 'mpfr' number of precision  53   bits 
[1] 0

У кого-нибудь есть идея, что происходит? Заранее спасибо.

...