У меня есть вложенный фрейм данных в R, к которому я применяю функцию из пакета Psy. Я добавляю получившийся список в фрейм данных. Теперь я хотел бы создать новый столбец, содержащий определенный элемент из этого списка. В принципе, я знаю, как это работает, но почему-то результирующий список NULL. Я могу убедиться, что список, из которого я извлекаю, не пустой, поэтому мне интересно, в чем проблема. Любая помощь приветствуется. Воспроизводимый пример ниже.
library(psych)
library(tidyverse)
tibble( A = c( 1, 2, 3, 4),
B = c( 1, 2, 3 ,4),
C = c( 2, 3, 3, 5),
group = c( 1, 1, 1, 1))%>%
group_by( group) %>%
nest() %>%
mutate( ICC_results = data %>% map( ICC)) -> df
# Now I would like to add a variable containing a numeric element from the list, so ideally use map_dbl, but that gives an error because extracting any element from the list results in an empty list
df %>%
mutate( ICC3 = ICC_results %>% map( 9))
# A tibble: 1 x 4
# Groups: group [1]
group data ICC_results ICC3
<dbl> <list> <list> <list>
1 1 <tibble [4 x 3]> <psych> <NULL>
# I can verify that the element I am looking to extract is not empty
df %>%
select( ICC_results) %>%
unlist() %>%
str()
List of 76
$ ICC_results.results.type1 : chr "ICC1"
$ ICC_results.results.type2 : chr "ICC2"
$ ICC_results.results.type3 : chr "ICC3"
$ ICC_results.results.type4 : chr "ICC1k"
$ ICC_results.results.type5 : chr "ICC2k"
$ ICC_results.results.type6 : chr "ICC3k"
$ ICC_results.results.ICC1 : num 0.857
$ ICC_results.results.ICC2 : num 0.862
$ ICC_results.results.ICC3 : num 0.949
$ ICC_results.results.ICC4 : num 0.947
$ ICC_results.results.ICC5 : num 0.949
$ ICC_results.results.ICC6 : num 0.982
....
str(df$ICC_results)
? - person Waldi   schedule 03.09.2020map(9)
, иmap("ICC_results.results.ICC3")
, и все варианты, такие как извлечение, выщипывание и тому подобное ... Ничего не работает. - person Luise   schedule 03.09.2020df$ICC_results[[1]]$results$ICC[[3]]
? - person Waldi   schedule 03.09.2020