使用write.table()时,根据数据框中第三列的名称更改文件名

使用write.table()时,根据数据框中第三列的名称更改文件名,r,R,我在R中编写了一个脚本,用于合并和修改一些csv数据,然后使用write table()保存生成的数据帧。保存文件时,会将当前日期添加到文件名中。结果数据框的第三列始终是特定于国家的,因此我想知道是否有方法根据国家代码(第三列的名称)使用write.table将国家的名称包含在文件名中 例如,如果第三列的名称是“it”,我想使用write.table将“Italy”添加到csv文件的名称中。将国家名称和代码列表导入R:(明智的做法是在脚本的最顶端执行此操作:在处理循环之外,这样就不会反复读取写入

我在R中编写了一个脚本,用于合并和修改一些csv数据,然后使用write table()保存生成的数据帧。保存文件时,会将当前日期添加到文件名中。结果数据框的第三列始终是特定于国家的,因此我想知道是否有方法根据国家代码(第三列的名称)使用write.table将国家的名称包含在文件名中


例如,如果第三列的名称是“it”,我想使用write.table将“Italy”添加到csv文件的名称中。

将国家名称和代码列表导入R:(明智的做法是在脚本的最顶端执行此操作:在处理循环之外,这样就不会反复读取写入.csv的每个数据集的数据。其余代码在当前
write.table
命令之前执行。)


祝你好运:-)

下面的答案能满足你的需要吗?谢谢,这很有用。在我的特殊情况下,我可以在countrycode Super之后使用快捷方式,很乐意帮忙,需要绕道
如果其他
,似乎很方便。
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)`
country_idx <- grep(pattern=countrycode, x=world$iso, ignore.case = TRUE)

country <- world$name[country_idx]
csv_name <- paste0("...",country, ".csv") 
write.table(x=yourdata, file=csv_name)