我有5个小数点的数字向量,我累了乘以7,结果给我整数,我不知道为什么小数消失了。你知道发生了什么吗?
这是数据
> df
ID Begin End Int
1 34 30-Dec-05 15-Jan-06 6.142857
2 66 3-Apr-06 7-Aug-06 13.000000
3 66 28-Feb-06 3-Apr-06 17.857143
4 104 31-Jan-06 28-Feb-06 6.000000
5 104 28-Feb-06 23-May-06 10.000000
6 104 24-May-06 7-Sep-06 22.142857
7 182 9-May-06 10-Jul-06 -1.571429
8 189 10-Apr-06 11-Apr-06 15.285714
9 189 12-Apr-06 12-Apr-06 15.571429
10 189 13-Apr-06 15-Apr-06 15.714286
11 189 13-Aug-06 13-Sep-06 23.428571
12 189 6-Jun-06 6-Jun-06 33.142857
13 193 17-Mar-06 24-Mar-06 2.428571
14 193 27-Jun-06 28-Jun-06 17.000000
15 193 7-Jul-06 25-Sep-06 18.428571
16 237 10-Feb-06 15-Mar-06 -2.000000
17 237 15-Mar-06 10-Apr-06 2.714286
18 264 25-Jan-06 7-Nov-06 -2.285714
19 282 19-Nov-05 1-Aug-06 6.000000
df$cal <- df$Int*7
它给了我
[1] 43 91 125 42 70 155 -11 107 109 110
[11] 164 232 17 119 129 -14 19 -16 42
答案 0 :(得分:11)
R根据数字的小数部分调整打印格式;它不一定在小数点后打印所有零。
> (x = 18/7)
[1] 2.571429
> x*7
[1] 18
> sprintf("%1.10f",x*7)
[1] "18.0000000000"
根据你的例子,这正是这里发生的事情:你的Int
值都是1/7的精确倍数(可能是从几天到几周的某种转换得出的),所以乘以7给出您使用.00000...