如果R中不存在空值,如何用空值填充DF列表



我正在尝试从导入到R.的一些表中列出数据帧

#import data
june_loss = read_xlsx()
july_loss =read_xlsx()
...
may_loss = read_xlsx()

#Make List of DataFrmaes
losses_to_be_valued <- list(june_loss, july_loss, ...,may_loss)

我遇到的问题是,并不是所有的文件都存在,但它们将来可能会存在,所以无论表是否存在,我都希望列表保持相同的长度。

我正在寻找一个函数,它将编译data.frames列表,并在命名变量"不存在"的地方插入NULL

目前,我的lapply函数中修复此问题的错误是object 'feb_loss' not found

losses_to_be_valued <- lapply(list(june_loss, july_loss, august_loss, sept_loss,
oct_loss, nov_loss, dec_loss, jan_loss,
feb_loss, mar_loss, april_loss, may_loss), function(x)   
if(!exists(x))
{assign(x, NULL, envir=.GlobalEnv,inherits = FALSE  )}
)

想明白了。我觉得自己很笨,我应该这样做,因为这很容易解决。

我只是把这个放在前面。

losses_to_be_valued <- vector(mode = "list",12)

使之发挥作用:

#make empty list
losses_to_be_valued <- vector(mode = "list",12)
#import data
june_loss = read_xlsx()
july_loss =read_xlsx()
...
may_loss = read_xlsx()

#Make List of DataFrmaes
losses_to_be_valued <- lapply(list("june_loss", "july_loss", "august_loss", "sept_loss",
"oct_loss", "nov_loss", "dec_loss", "jan_loss",
"feb_loss", 'mar_loss', "april_loss", "may_loss"), function(x)
if(!exists(x, envir=.GlobalEnv))
{assign(x, NULL, envir = .GlobalEnv,inherits = FALSE)}
)
losses_to_be_valued <- list(june_loss, july_loss, ...,may_loss)

最新更新