Заменить нуль в списке в R? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть список, который выглядит следующим образом:

  > str(gf)
       List of 28
         $ : NULL
         $ :'data.frame':       1 obs. of  2 variables:
               ..$ x: logi NA
               ..$ y: logi NA
         $ : NULL
         $ : NULL
         $ : NULL

Я хотел бы заменить все NULL на

                  data.frame(x=NA,y=NA)

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете попробовать tidyverse решение

library(tidyverse)
# a list
a <- list(NULL, data.frame(x=T, y=F), NULL)
str(a)
List of 3
 $ : NULL
 $ :'data.frame':   1 obs. of  2 variables:
  ..$ x: logi TRUE
  ..$ y: logi FALSE
 $ : NULL

# and replace 
modify_if(a, is.null, ~compact(a) %>% unlist())
[[1]]
    x     y 
 TRUE FALSE 

[[2]]
     x     y
1 TRUE FALSE

[[3]]
    x     y 
 TRUE FALSE 

# or
modify_if(a, is.null, ~data.frame(x=NA,y=NA))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...