我正在嘗試學(xué)習(xí)Python,并且也在學(xué)習(xí)統(tǒng)計學(xué),所以我想看看是否可以創(chuàng)建自己的函數(shù)來獲取數(shù)據(jù)集的均值、方差以及最終的標(biāo)準(zhǔn)差。map()因此,我使用and創(chuàng)建了方差函數(shù),lambda但當(dāng)我將它與我在另一個屏幕上運(yùn)行的 R 進(jìn)行比較時,我得到了錯誤的結(jié)果。我發(fā)現(xiàn)如果我numpy在 python 中使用這個庫,我會得到與我在自制函數(shù)中得到的完全相同的值。Pythonfemales = [2474,2547,2830,3219,3429,3448,3677,3872,4001,4116]males = [2844,2863,2963,3239,3379,3449,3582,3926,4151,4356]def std_deviance(data): mean = sum(data)/len(data) variance = sum(list(map(lambda x: (x-mean)**2,data)))/len(data) return variance**(1/2)print('Females:\t', std_deviance(females))# Females: 557.1610269930948print('Males:\t\t',std_deviance(males))# Males: 504.81913592889873右females <- c(2474,2574,2830,3219,3429,3448,3677,3872,4001,4116)males <- c(2844,2863,2963,3239,3379,3449,3582,3926,4151,4356)sd(females)[1] 583.1874sd(males)[1] 532.1261Python 與 numpyfrom numpy import stdfemales = [2474,2547,2830,3219,3429,3448,3677,3872,4001,4116]males = [2844,2863,2963,3239,3379,3449,3582,3926,4151,4356]print('Females:\t', std(females))# Females: 557.1610269930948print('Males:\t\t',std(males))# Males: 504.81913592889873
1 回答

素胚勾勒不出你
TA貢獻(xiàn)1827條經(jīng)驗 獲得超9個贊
您犯了一個打字錯誤。(向量的第二個元素females
在 Python 示例中為 2547,在 R 示例中為 2574。)糾正后,這個問題就與R 和 Python 之間的輸出值不同?
添加回答
舉報
0/150
提交
取消