library(tidyverse)
data(mtcars)
mtcars <- rownames_to_column(mtcars,var = "car")
mtcars$make <- map_chr(mtcars$car,~strsplit(.x," ")[[1]][1])
mt2 <- mtcars %>% select(1:8,make) %>% nest(-make,.key = "l")
mt4<-mt2[1:5,]
mt4[c(1,5),"l"] <- list(list(NULL))
Теперь, я бы хотел, чтобы запустить следующую функцию для каждого марки автомобиля:purrring с NULL listcolumns в R
fun_mt <- function(df){
a <- df %>%
filter(cyl<8) %>%
arrange(mpg) %>%
slice(1) %>%
select(mpg,disp)
return(a)
}
mt4 %>% mutate(newdf=map(l,~possibly(fun_mt(.x),otherwise = "NA"))) %>% unnest(newdf)
Однако NULL столбцы отказываются оценить из-за
Error: no applicable method for 'filter_' applied to an object of class "NULL"
Я также попытался использовать безопасно и, возможно, подход, но все же я получаю сообщ об ошибке:
Error: Don't know how to convert NULL into a function
Любые хорошие решения?
Почему вы используете 'NULL' вообще? Что означает «NULL»? Можете ли вы использовать 'NA' вместо этого? – Gregor
@gregor В конечном итоге я получаю NULL в следующем наборе данных после использования left_joins в двух разных списках. Я не думаю, что могу принудить left_join к NA вместо –
Misha