【发布时间】:2020-12-09 05:22:15
【问题描述】:
在下面的代码中,如果 TrimCY = TrimBYS,则快照应为 0。
df <- df %>%
mutate(snapshot = case_when(Trend_direction != 2 ~ (TrimCY-TrimBYS)*sign(Trend_direction)*10/abs(Target_Snap-TrimBYS),
TRUE ~ 10-((abs(TrimCY-Target_Snap)*10)/abs(Target_Snap-TrimBYS))))
当我对下面显示的数据执行此代码时,情况并非总是如此。查看快照值。
Trend_direction Target_Snap TrimCY TrimBYS snapshot
1 56 53 53 0.000000e+00
1 56 54 54 -3.552714e-14
1 56 55 55 -7.105427e-14
有人知道为什么我会得到这些非常小的非零结果吗?当我将算术函数复制到控制台并使用上面的值执行时,它总是为 0。
【问题讨论】:
-
是精度。您可以设置
options(scipen = 999)