我通常使用python編寫代碼,我正在努力解決這個問題。用於在數據幀列表中添加數據幀的R循環(如果每個數據幀具有多於n行的數據)
我有一個名爲dataframe_name的數據框名稱列表,我想用這個列表來調用一些數據框對象。 之後,我想要使用if循環來拾取行數等於34的數據框,並列出它們以創建數據框對象列表。
dataframe_name<-c("x1","x2","x3","x4","x5","x6","x7")
dataframe_list<-list()
for(i in dataframe_name){
if(nrow(get(i))==34){
append(get(i),dataframe_list)
}
}
當我運行該腳本,我得到這個錯誤:
Error in if (nrow(get(i)) == 34) { : argument is of length zero
我所瞭解的是,nrow(獲得(I))似乎是空,但我不知道爲什麼。
感謝您的任何幫助。
這看起來好像你dataframes之一('x1'等)不存在。 –
感謝您的回覆,但我已經採用dataframe_name <名稱(eapply(.GlobalEnv,is.data.frame))的名稱,那麼我認爲所有名稱都有相應的對象 –
這也將包括非數據框。你需要像'names(sapply(.GlobalEnv,is.data.frame))[sapply(.GlobalEnv,is.data.frame)]'(我確定必須有一個更好的方法! –