我想從列表中刪除部分以將列表減少爲具有特定列數的列表中的元素。使用循環從數據幀列表中刪除數據幀
這的什麼,我試圖做一個虛擬的例子:
#1: define the list
tables = list(mtcars,iris)
for(k in 1:length(tables)) {
# 2: be sure that each element is shaped as dataframe and not matrix
tables[[k]] = as.data.frame(tables[[k]])
# 3: remove elements that have more or less than 5 columns
if(ncol(tables[[k]]) != 5) {
tables <- tables[-k]
}
}
另一種選擇我想:
#1: define the list
tables = list(mtcars,iris)
for(k in 1:length(tables)) {
# 2: be sure that each element is shaped as dataframe
tables[[k]] = as.data.frame(tables[[k]])
# 3: remove elements that have more or less than 5 columns
if(ncol(tables[[k]]) != 5) {
tables[[-k]] <- NULL
}
}
我越來越
錯誤表[ [k]]:下標越界。
有沒有其他正確的方法?
將修剪到最大。 5列的數量,我想從列表中刪除列數不同於5的列中的元素 ,但我會嘗試lapply – pachamaltese
@pachamaltese更新後 – akrun
也'長度(表格) – Sotos