首页 > 解决方案 > 如何为 R 中列的每个值创建一个文件?

问题描述

我有一个包含数百种疾病的代码列表,以及每种疾病的多个代码。如何为每种疾病创建和导出单独的 .csv 文件,并使用疾病名称保存?

Disease <- as.character(c("HIV","HIV", "HIV", "HIV", "anaemia", "anaemia", "anaemia", "Chronic Kidney Disease", "Chronic Kidney Disease"))
Code <- c(123, 432, 567, 876, 433, 096, 543, 912, 456)
codelist <- data.frame(Disease, Code)
codelist
                 Disease Code
1                    HIV  123
2                    HIV  432
3                    HIV  567
4                    HIV  876
5                anaemia  433
6                anaemia   96
7                anaemia  543
8 Chronic Kidney Disease  912
9 Chronic Kidney Disease  456

例如:

> HIV
  Disease Code
1     HIV  123
2     HIV  432
3     HIV  567
4     HIV  876

非常感谢!

标签: rdplyrsubset

解决方案


这是一个基本的 R 方法:

codelist.lst <- split(codelist, codelist$Disease)
fnames <- paste0(names(codelist.lst), ".csv")
lapply(seq(codelist.lst), function(x) write.csv(codelist.lst[[x]], file=fnames[x]))

推荐阅读