#r #rounding #reshape #reshape2 #melt
#r #округление #изменение формы #изменение формы 2 #расплав
Вопрос:
У меня есть tibble (называемый bidrag), который я хочу изменить, используя melt(bidrag, id.vars=c("YYYYMMDD"))
. Однако это каким-то образом приводит к тому, что все мои значения округляются до 2 десятичных знаков, а мне нужно как минимум 5.
> bidrag
# A tibble: 369 x 8
YYYYMMDD `M:EUR:EFB:B` `M:SEK:EFB:B` `M:NOK:EFB:B` `M:GBP:EFB:B` `M:USD:EFB:B` `M:JPY:EFB:B` `M:Z60:EFB:B`
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 19900101 0.100 0.110 0.0200 -0.0200 0.250 0.110 0.200
2 19900201 0.150 0.0500 0.0100 -0.0700 0.120 0.0500 0.0800
3 19900301 0.230 -0.0200 0.0300 0.180 -0.0800 0.110 0.330
4 19900401 0.100 0.0700 0.0300 0.0300 0.120 0.130 0.270
5 19900501 0.0100 0.0500 0. -0.0500 0.130 -0.0400 -0.120
6 19900601 -0.0200 -0.0600 -0.0300 -0.170 -0.0900 -0.0300 -0.190
7 19900701 -0.0300 0.0300 0. -0.150 0.220 -0.0100 -0.0900
8 19900801 -0.150 0.0900 0.0100 -0.0700 0.320 0.0700 0.0200
9 19900901 0.140 0. 0. 0.0700 0.0200 -0.160 -0.180
10 19901001 0.0600 0.0800 0.0100 -0.0200 0.250 -0.100 -0.0800
# ... with 359 more rows
> bidrag <- melt(bidrag, id.vars=c("YYYYMMDD"), round = 5)
> bidrag
YYYYMMDD variable value
1 19900101 M:EUR:EFB:B 0.10
2 19900201 M:EUR:EFB:B 0.15
3 19900301 M:EUR:EFB:B 0.23
4 19900401 M:EUR:EFB:B 0.10
5 19900501 M:EUR:EFB:B 0.01
6 19900601 M:EUR:EFB:B -0.02
7 19900701 M:EUR:EFB:B -0.03
8 19900801 M:EUR:EFB:B -0.15
9 19900901 M:EUR:EFB:B 0.14
10 19901001 M:EUR:EFB:B 0.06
Комментарии:
1. запустите
options(digits = 5)
в консоли, а затем проверьтеbidrag
. Вы можете увеличить его, если вам нужно больше чисел.2. @RonakShah Я пробовал это, и он по-прежнему показывает только две цифры.
3. Все ваши значения равны 2 знакам после запятой или меньше. Почему бы вам не отредактировать тестовое значение с большим количеством знаков после запятой, чтобы посмотреть, что произойдет?
4. Ах, это многое объясняет. Я даже сам не заметил. Спасибо!