我讀過文件夾中csv文件的列表,現在我打算將它們濾除給定的閾值,其中每個data.frame中的刪除行必須以動態方式導出到所需的文件夾,而保存的行作爲輸出返回。然而,我實現了這個任務的功能,並且它工作正常,除非將丟失的行作爲csv文件寫入所需的文件夾失敗。任何人都可以指出我的功能是什麼?任何有效的方式來動態地寫入特定文件夾中的data.frame?我如何糾正實施?任何想法 ?如何動態地將過濾的數據幀導出到所需的文件夾?
重複性的數據:
myData <- list(
df_1 = data.frame(L1=seq(3, by=4, len=16), L2=seq(7, by=4, len=16), score=sample(30, 16)),
df_2 = data.frame(L1=seq(6, by=7, len=20), L2=seq(14, by=7, len=20), score=sample(30, 20)),
df_3 = data.frame(L1=seq(11, by=8, len=25), L2=seq(19, by=8, len=25), score=sample(30, 25))
)
我實現這個功能,它工作正常,除了寫不希望CSV文件:
func <- function(mlist, threshold=NULL, outDir=getwd(), .fileName=NULL, ...) {
if(!dir.exists(outDir)) {
dir.create(file.path(outDir))
setwd(file.path(outDir))
}
rslt <- lapply(mlist, function(x) {
.drop <- x[x$score < threshold,]
# FIXME : write droped rows of each data.frame into specific folder
write.csv(.drop, sprintf("drop.%s.csv", x), row.names = FALSE)
.save <- x[x$score >= threshold,]
return(.save)
})
return(rslt)
}
這就是我打算寫在特定位置的CSV文件:與.initPath .initPath = getwd()
連接,創建新文件夾並在那裏寫入csv文件。我不明白我的實施出了什麼問題,我得到了一個錯誤。
如何從每個data.frame中動態刪除行到特定文件夾?有沒有什麼快捷的方法可以更有效地實現這一點?非常感謝。
什麼是您會收到錯誤?你怎麼調用這個函數? – Parfait