В настоящее время существует два рекомендуемых подхода к извлечению интервалов из распределений. hilo()
позволяет вычислять интервалы, что хорошо работает с mutate()
. report()
также позволяет получать интервалы с помощью аргумента level
, что может быть более удобным.
hilo()
вряд ли изменится, однако будущее report()
неясно.
library(tidyverse)
library(fable)
#> Loading required package: fablelite
result <- USAccDeaths %>% as_tsibble %>%
model(arima = ARIMA(log(value) ~ pdq(0,1,1) + PDQ(0,1,1)))%>%
forecast(h=12)
result %>%
mutate(`80%` = hilo(.distribution, 80))
#> # A tsibble: 12 x 5 [1M]
#> # Key: .model [1]
#> .model index value .distribution `80%`
#>
#> 1 arima 1979 Jan 8290. t(N(9.0, 0.0014)) [ 7899.082, 8689.169]80
#> 2 arima 1979 Feb 7453. t(N(8.9, 0.0018)) [ 7055.860, 7859.100]80
#> 3 arima 1979 Mar 8276. t(N(9.0, 0.0022)) [ 7789.719, 8774.054]80
#> 4 arima 1979 Apr 8584. t(N(9.1, 0.0025)) [ 8036.304, 9144.752]80
#> 5 arima 1979 May 9499. t(N(9.2, 0.0029)) [ 8849.860, 10166.302]80
#> 6 arima 1979 Jun 9900. t(N(9.2, 0.0033)) [ 9180.375, 10639.833]80
#> 7 arima 1979 Jul 10988. t(N(9.3, 0.0037)) [10145.473, 11857.038]80
#> 8 arima 1979 Aug 10132. t(N(9.2, 0.0041)) [ 9315.840, 10974.140]80
#> 9 arima 1979 Sep 9138. t(N(9.1, 0.0045)) [ 8368.585, 9933.124]80
#> 10 arima 1979 Oct 9391. t(N(9.1, 0.0049)) [ 8567.874, 10243.615]80
#> 11 arima 1979 Nov 8863. t(N(9.1, 0.0052)) [ 8056.754, 9699.824]80
#> 12 arima 1979 Dec 9356. t(N(9.1, 0.0056)) [ 8474.732, 10271.739]80
result %>%
report(level = 80)
#> # A tsibble: 12 x 4 [1M]
#> # Key: .model [1]
#> .model index value `80%`
#>
#> 1 arima 1979 Jan 8290. [ 7899.082, 8689.169]80
#> 2 arima 1979 Feb 7453. [ 7055.860, 7859.100]80
#> 3 arima 1979 Mar 8276. [ 7789.719, 8774.054]80
#> 4 arima 1979 Apr 8584. [ 8036.304, 9144.752]80
#> 5 arima 1979 May 9499. [ 8849.860, 10166.302]80
#> 6 arima 1979 Jun 9900. [ 9180.375, 10639.833]80
#> 7 arima 1979 Jul 10988. [10145.473, 11857.038]80
#> 8 arima 1979 Aug 10132. [ 9315.840, 10974.140]80
#> 9 arima 1979 Sep 9138. [ 8368.585, 9933.124]80
#> 10 arima 1979 Oct 9391. [ 8567.874, 10243.615]80
#> 11 arima 1979 Nov 8863. [ 8056.754, 9699.824]80
#> 12 arima 1979 Dec 9356. [ 8474.732, 10271.739]80
Создано в 2019-02-27 с помощью пакета представитель (v0.2.1) sup>
Предполагая, что вы уже получил настройку и работу подсветки синтаксиса Ruby, используйте режим синтаксиса
для сворачивания:
Я думаю, вы помещаете курсор в первую строку, а затем zfnj, где n - количество строк, которые нужно свернуть (так, чтобы сложить 10 строк, вы должны будете zf10j). Я думаю, он также распознает синтаксис, так что, как и в PHP, я делаю zf}, чтобы свернуть его до закрывающей скобки. Я не пишу код на Ruby, поэтому не знаю, работает ли это в Ruby.
С этого момента для переключения zo откроется, а zc закроется.
Мне нравится, чтобы все складывалось по умолчанию, и это здесь позволит вам настроить целую кучу вещей, связанных со складыванием. Я в основном занимаюсь программированием на Perl и C ++, и считаю, что это хорошо с этим работает. Сворачивание и разворачивание сопоставляется с пробелом.
Вот что я сделал в моем vimrc:
" Folding stuff
hi Folded guibg=red guifg=Red cterm=bold ctermbg=DarkGrey ctermfg=lightblue
hi FoldColumn guibg=grey78 gui=Bold guifg=DarkBlue
set foldcolumn=2
set foldclose=
set foldmethod=indent
set foldnestmax=10
set foldlevel=0
set fillchars=vert:\|,fold:\
set foldminlines=1
" Toggle fold state between closed and opened.
"
" If there is no fold at current line, just moves forward.
" If it is present, reverse it's state.
fu! ToggleFold()
if foldlevel('.') == 0
normal! l
else
if foldclosed('.') < 0
. foldclose
else
. foldopen
endif
endif
echo
endf
" Map this function to Space key.
noremap <space> :call ToggleFold()<CR>