簡體   English   中英

根據數據框中第三列的名稱使用write.table()時更改文件名

[英]Change file name when using write.table() according to the name of the third column in data frame

我用R語言編寫了一個腳本,該腳本合並並修改了一些csv數據,然后使用write table()保存了生成的數據幀。 保存文件時,會將當前日期添加到文件名中。 結果數據框的第三列始終是特定於國家/地區的,因此我想知道是否有一種方法可以使用write.table在文件名中包含國家/地區名稱,具體取決於國家/地區代碼(第三列的名稱)。

例如,如果第三列的名稱是“ it”,則我想使用write.table將“意大利”添加到csv文件的名稱中。

將國家/地區名稱和代碼列表導入R :( 在腳本的最頂部執行此操作是明智的:在處理循環之外,這樣就不必為要寫入.csv的每個數據集重復讀入數據。其余代碼恰好在您當前的write.table命令之前

library(RCurl)
csv_src <- getURL("https://raw.githubusercontent.com/umpirsky/country-list/master/country/cldr/en/country.csv")

world <- read.csv(text=csv_src, header=T)`

使用國家/地區代碼獲取數據中第三列的名稱:

countrycode <- colnames(yourdata)[3]

提取相應的國家名稱:

country_idx <- grep(pattern=countrycode, x=world$iso, ignore.case = TRUE)

country <- world$name[country_idx]

將國家/地區名稱附加到csv文件名( 用要附加到輸出文件名的其他任何標簽替換“ ...”。否則,請刪除“ ...”

csv_name <- paste0("...",country, ".csv") 

將數據寫到文件中:

write.table(x=yourdata, file=csv_name)

祝好運 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM