【发布时间】:2018-12-19 15:57:17
【问题描述】:
我一直在检查我的数据,我意识到减法是错误的,我手动计算了它,我得到了正确的结果。
我的问题是,为什么当我从 data.frame 计算减法时,它会给出一个数字 0.5,而当我只用数字计算它时,它会给出正确的结果。
我试图在其他计算机上重现该问题,这里是这个问题的一个玩具示例
a <- data.frame(matrix(nrow = 1, ncol = 4))
a[1,] <- c(101292229, 101298224, 101190466, 101195700)
colnames(a) <- c("start_I","end_I","start_II","end_II")
a$MI <- (a$start_I + a$end_I)/2
a$MII <- (a$start_II + a$end_II)/2
a
start_I end_I start_II end_II MI MII
1 101292229 101298224 101190466 101195700 101295226 101193083
a$MII-a$MI
[1] -102143.5
101193083-101295226
[1] -102143
【问题讨论】:
-
试试这个:
sprintf("%f", a)。当您打印a时,MI正在四舍五入,因此您的手动计算使用了不正确的数字。
标签: r dataframe subtraction