【问题标题】:How can I get deviation scores to sum to zero in R?如何使 R 中的偏差分数总和为零?
【发布时间】:2016-11-09 17:33:36
【问题描述】:

我有一个数据向量,我想“手动”计算方差和标准差。

pointsPerGame<-c(28,26,10,27,20,38,23,28,25,2)

我可以像这样得到偏差分数

pointsPerGame - mean(pointsPerGame)

但是当我尝试获得偏差分数的总和时,它不会像应有的那样总和为零。

deviationScores<- pointsPerGame - mean(pointsPerGame)
sum(deviationScores)

我知道这与 R 中的精度水平有关,但我不知道如何防止它出于我的目的这样做。

希望您能提供帮助。

这个问题已被标记为我的问题Why are these numbers not equal? 的答案 但我希望 R 显示 0 用于教学目的,进入浮点等细节会非常混乱。

【问题讨论】:

标签: r sum


【解决方案1】:

你已经找到答案了;你只需要接受你现在是一名分析师和兼职计算机科学家。除非您更喜欢 Excel 的魅力,否则浮点运算随处可见。

all.equal(0L, sum(deviationScores))
[1] TRUE

编辑

出于教学目的,显示0为总和。

devsum <- sum(deviationScores)
devsum <- if(all.equal(0L, devsum)) 0L else devsum

【讨论】:

  • 感谢您的回复,但如果出于教学目的,我希望它显示为 0,该怎么做?
  • 添加了教学脚本。
猜你喜欢
  • 2016-11-20
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
  • 2021-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多