0
創建多個CSV提取找遍了無數的Q &但不找到一個解決辦法對這個問題......(見下文未遂)的子集化的數據幀
我有一個交易數據集MAC_trans_sales_members
其中每個事務分配到客戶ID,並分配給一個隊列的每個客戶,例如'01/2016'在join.cohort
列中。有4M客戶,因此1個excel文件的行數太多,所以我想爲每個連接羣組創建單獨的子集,並將每個子集導出到單獨的csv。有大約18個隊列,所以我想自動化這個子集。
我曾嘗試下面的代碼位,但他們沒有工作:
嘗試1
dt <- MAC_trans_sales_members
setDT(dt)[, fwrite(.SD, paste0("output_", join.cohort,".csv")),
by = join.cohort, .SDcols=names(dt) ]
Error: is.character(file) && length(file) == 1 && !is.na(file) is not TRUE
嘗試2
setDT(MAC_trans_sales_members)[, write.csv(.SD, paste0("output_", join.cohort,".csv")),
by = join.cohort, .SDcols=names(MAC_trans_sales_members) ]
Error in file(file, ifelse(append, "a", "w")) :
invalid 'description' argument
In addition: Warning message:
In if (file == "") file <- stdout() else if (is.character(file)) { :
the condition has length > 1 and only the first element will be used
嘗試3
daply(MAC_trans_sales_members, .(join.cohort), write.csv)
......只是噴出了林es控制檯中的數據
我在做什麼錯?
謝謝 - 已做出的更改,加入'unique',但我現在仍然收到錯誤消息: (.SD,paste0(「output_」,unique(join.cohort),「.csv」)): 沒有這樣的文件或目錄:'output_02/2016.csv'。無法創建新文件進行寫入(它不存在)。你有沒有寫在這裏的權限,磁盤上是否有空間,路徑是否存在?' 有什麼想法? – Adam
文件路徑output_02/2016.csv必須存在才能起作用。檢查文件夾output_02是否在你的工作目錄中,你可以使用'getwd()'來檢查' – chinsoon12
Thanks - 「join.cohort」中的變量格式爲01/2016,02/2016等,所以輸出代碼是以「/」作爲文件夾級別。我將「/」重寫爲「 - 」,現在它可以很好地輸出,而且非常快! – Adam