Wykonałem bootstrappping z 2.000 niezastruszonych modelu Cartera Lee do projekcji śmiertelności. Pytanie nie jest specyficzne dla badań śmiertelności, ale na więcej ogólnych wymiarach w R.

Po wykonaniu bootstrapping otrzymuję listę z elementami 2000, każdy dla każdego z 2 000 re-szacunków modelu. Dla każdego modelu istnieją szacunki moich 3 zmiennych: A_X, B_X i K_T. Zarówno A_X, jak i B_X są specyficzne dla wieku, więc "X" oznacza wiek w przedziale [0:95].

Chciałbym teraz wykresować histogram wszystkich wartości B_X dla wieku X = 70.

### Performing the bootstrap:
JA_lc_fitM_boot1 <- bootstrap(LCfit_JA_M, nBoot = 2000, type = "semiparametric")

### Plotting the histogram with all b_x for x = 70:
JA_lc_fitM_boot1[["bootParameters"]][1:2000][["bx"]][[70]]

Próbowałem wielu opcji, ale nie mogę tego sprawy. Rzecz, która mnie wyzwala, jest to, że pracuję z podwójnym na liście listy.

Dodałem zdjęcie poniższych danych:

https://ibb.co/4fmgv8r.

Czy ktoś ma rozwiązanie tego?

0
Anders Max Rasmussen 7 kwiecień 2020, 14:19

2 odpowiedzi

Najlepsza odpowiedź

Wygląda na to, że potrzebujesz funkcji apply. Twoje dane nie są powtarzalne, więc nie mogę tego potwierdzić, że będzie działać, ale jeśli to zrobisz:

result <- sapply(JA_lc_fitM_boot1[["bootParameters"]], function(var) var[["bx"]][[70]])

Powinieneś dostać to, czego szukasz.

1
Allan Cameron 7 kwiecień 2020, 11:57

Możesz spojrzeć na pakiet purrr i rodzinę map funkcji lub tidyr i funtion hoist.

(Jeśli chcesz, który działa, rzeczywiście musisz podać pewne dane!)

0
Arthur 7 kwiecień 2020, 12:03