我正在做一个项目,我有50个结构相同的数据库。
请按照以下方式考虑
df_1 <- data.frame(nationality=c("german","italian"), total=c(500,300), male=c(400,100))
df_2 <- data.frame(nationality=c("german","italian"), total=c(800,600), male=c(300,80))
等等。
基本上,每个数据框包含一个特定年份的数据。我现在希望每个国家有一个数据框,其中每列代表一年。总体目标是有一个时间数据图。
我无法找到这个问题的解决方案,特别是因为我有太多的 Dataframe 。我读到过将它们都放在一个列表中然后处理它是有意义的,但我不完全确定这是否有意义。
任何帮助都是高度赞赏,我是相对新的R!
2条答案
按热度按时间vdzxcuhz1#
一种方法,首先在列表的每个数据框中添加年份,然后按 * 国籍 * 分列。
输出
q3qa4bjr2#
正如Jon Spring所要求的,您必须在加入之前使用年份注解数据框,例如,如果您的数据框位于命名列表中,其中名称表示年份:
你可以在tidyverse中做一些事情,比如:
生成的tibble列表包含
这个解决方案使用了一个连接(而不是绑定)操作,这样在 Dataframe 格式不相同的情况下会更安全,例如ncol不同。