2016-02-12 125 views
0

我需要检查几个数据帧是否为空,并对它们进行操作。这是我使用的代码。R检查数据帧对于多个数据帧为空

if (is.data.frame(title) && nrow(title)==0) { 
    title= data.frame("NA") 
} 

反正有没有这个循环的几个数据帧

+1

如何创建一个'list',每个元素都是一个'data.frame'和在你的函数中使用'lapply'? – Sotos

回答

0

我们可以尝试以下

# Create empty data.frames 
df1 <- data.frame(Date=as.Date(character()), 
        File=character(), 
        User=character(), 
        stringsAsFactors=FALSE) 
df2 <- data.frame(Date=as.Date(character()), 
        File=character(), 
        User=character(), 
        stringsAsFactors=FALSE) 

mylist <- list(df1, df2) 
lapply(mylist, function(x) if (nrow(x)==0) { 
     title= data.frame("NA") 
}) 
# [[1]] 
# X.NA. 
# 1 NA 

# [[2]] 
# X.NA. 
# 1 NA 
+0

谢谢,但是看起来数据帧没有变化。我通过插入“mylist = data.frame(”NA“)来对代码进行调整。 – rrodrigorn0