为了账号安全,请及时绑定邮箱和手机立即绑定

R 和 Python 中的标准差不同

R 和 Python 中的标准差不同

忽然笑 2023-07-18 13:55:00
我正在尝试学习Python,并且也在学习统计学,所以我想看看是否可以创建自己的函数来获取数据集的均值、方差以及最终的标准差。map()因此,我使用and创建了方差函数,lambda但当我将它与我在另一个屏幕上运行的 R 进行比较时,我得到了错误的结果。我发现如果我numpy在 python 中使用这个库,我会得到与我在自制函数中得到的完全相同的值。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贡献1827条经验 获得超9个赞

您犯了一个打字错误。(向量的第二个元素females在 Python 示例中为 2547,在 R 示例中为 2574。)纠正后,这个问题就与R 和 Python 之间的输出值不同?


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号