Извлечь элемент sinlge с помощью гнезда из метлы :: приборка - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу получить один elemnet из результатов поиска метлы в невыпущенный фрейм данных.

Структура таблицы:

> zz
# A tibble: 1,923 x 5
   sys_loc_code data                model         tidy             glance          
   <chr>        <list>              <list>        <list>           <list>          
 1 S000-001     <tibble [493 x 18]> <S3: survreg> <tibble [4 x 7]> <tibble [1 x 8]>
 2 S000-002     <tibble [32 x 18]>  <S3: survreg> <tibble [4 x 7]> <tibble [1 x 8]>

И когда я применяю функцию метла: приборка, я получаю вывод:

> unnest(zz, tidy)
# A tibble: 7,692 x 8
   id           term         estimate std.error statistic  p.value  conf.low  conf.high
   <chr>        <chr>           <dbl>     <dbl>     <dbl>    <dbl>     <dbl>      <dbl>
 1 S000-001     (Intercept)  4226.     881.         4.80  1.61e- 6  2499.      5952.   
 2 S000-001     y              -2.08     0.438     -4.76  1.93e- 6    -2.94      -1.23 
 3 S000-001     m               2.46     0.645      3.82  1.36e- 4     1.20       3.72 
 4 S000-001     Log(scale)      3.47     0.0383    90.7   0.          NA         NA    
 5 S000-002     (Intercept)  4610.    2880.         1.60  1.09e- 1 -1035.     10255.   
 6 S000-002     y              -2.29     1.44      -1.60  1.11e- 1    -5.10       0.523
 7 S000-002     m               1.69     1.33       1.27  2.05e- 1    -0.922      4.30 
 8 S000-002     Log(scale)      2.62     0.132     19.9   5.57e-88    NA         NA    

Однако мне нужно только захватитьодин элемент из этого вывода.В этом примере только наклоны члена y для каждого идентификатора (-2.08 и -2.29) с результирующей таблицей, выглядящей так:

> unnest(zz, tidy)
# A tibble: 7,692 x 2
   id           estimate 
   <chr>        <dbl>     
 1 S000-001     -2.08     
 2 S000-002     -2.29     

синтаксис tidy (x) [2,2] работает какожидается, когда x является классом S3 SILGE: «Surregreg», но завершается неудачно, когда применяется к вложенной таблице списков того же класса.

Любое предложение будет оценено.Заранее спасибо.

1 Ответ

0 голосов
/ 12 декабря 2018

Учитывая, что вывод unnest является полубайтом, вы должны быть в состоянии передать его непосредственно в dplyr конвейер, чтобы получить то, что вы хотите.Как то так:

library(dplyr)
unnest(zz, tidy) %>%
    filter(term == "y") %>%
    select(id, estimate)
...