2016-12-08 133 views
0

其行尺寸是零我有像DF1,DF2,...,DF11其尺寸爲20,3許多數據幀; 40.4 ,; 0,5; 0,2 ...;這些尺寸並不在我的計劃從那裏我計算我的數據保持不變frames.So我想篩選出誰擁有零點的尺寸一樣暗淡(DF3)的數據幀給0,5 這是我曾嘗試過濾出的數據幀中的R

while(!dim(df(i))[1]==0) 
{ 

    DF=paste("df",c(1:11)) 

} 

感謝

+0

你希望不是空dataframes的名字或你想要的dataframes本身作爲一個列表? –

+0

@ joel.wilson,希望dataframes本身 – Deepesh

回答

2

保持數據集在list

Filter(function(x) nrow(x)>1, mget(paste0("df", 1:11))) 

還是其他選項後,我們可以使用Filtersapply創建一個邏輯向量,然後子集list

lst <- mget(paste0("df", 1:11)) 
i1 <- sapply(lst, nrow)>0 
lst[i1] 
+1

它的工作謝謝.............. – Deepesh

1

這只是爲了解釋您可能出錯的地方。你應該更喜歡一個for代替while

如果你想只非空data.frames的名字:

total_num_dataframes = 4 
DF =character(0) 
for (i in 1:total_num_dataframes){ 
    if (dim(get(paste0("df",i)))[1] != 0) 
    DF = c(DF,paste0("df",i)) 

} 

如果你希望data.frames本身:

DF = vector('list', length = total_num_dataframes) 
j = 1 
for (i in 1:total_num_dataframes){ 
    if (dim(get(paste0("df",i)))[1] != 0) { 
    DF[[j]] = get(paste0("df",i)) 
    j = j+1 
    } 

}