R 将数据框列拆分为多列
在R工作。 我有一个数据集,见下文。我希望“出口合作伙伴数量”和“进口合作伙伴数量”有两个不同的列,而不是将它们合并在“指标”下。我该怎么办?已尝试使用pivot命令,但无法确定如何使其工作R 将数据框列拆分为多列,r,R,在R工作。 我有一个数据集,见下文。我希望“出口合作伙伴数量”和“进口合作伙伴数量”有两个不同的列,而不是将它们合并在“指标”下。我该怎么办?已尝试使用pivot命令,但无法确定如何使其工作 # A tibble: 747 x 4 reporter indicator year value <chr> <chr> <chr> <dbl> 1 Aruba No
# A tibble: 747 x 4
reporter indicator year value
<chr> <chr> <chr> <dbl>
1 Aruba No. Of Export partners year_2018 6
2 Aruba No. Of Export partners year_2016 15
3 Aruba No. Of Export partners year_2014 21
4 Aruba No. Of Import partners year_2018 20
5 Aruba No. Of Import partners year_2016 23
6 Aruba No. Of Import partners year_2014 22
7 Angola No. Of Export partners year_2018 138
8 Angola No. Of Export partners year_2016 135
9 Angola No. Of Export partners year_2014 38
10 Angola No. Of Import partners year_2018 183
# … with 737 more rows
#一个tible:747 x 4
报告指标年值
1阿鲁巴2018年出口合作伙伴数量6
2阿鲁巴2016年出口合作伙伴数量15
3阿鲁巴2014年出口合作伙伴数量21
4阿鲁巴2018年进口合作伙伴数量20
5阿鲁巴进口合作伙伴数量2016年11月23日
6阿鲁巴2014年进口合作伙伴数量22
7安哥拉2018年出口合作伙伴数量138
8安哥拉2016年出口合作伙伴数量135
9安哥拉2014年出口合作伙伴数量38
10安哥拉2018年进口合作伙伴数量183
#…还有737行
您可以使用tidyverse
软件包,特别是dplyr
、tidyr
和stringr
来实现这一点
library(tidyverse)
your_data %>%
pivot_wider(names_from = indicator, # This does what you want
values_from = value) %>%
mutate(year = as.numeric(str_sub(year, 6))) # converts your year column into numeric
您可以使用
dput()
并粘贴到输出中,而不是像以前那样发布数据吗?这将使我们能够更轻松地将数据复制到R中。这里有一些关于创建a的其他提示。是的,谢谢。第一次发布-试图找出如何做。现在应该更容易看到。欢迎使用堆栈溢出。你能编辑你的帖子来包含你的数据吗。下面的代码将生成一个包含10条随机记录的代码片段,您可以将其粘贴到原始帖子中:dput(dplyr::sample\n(yourdatasetsnamegoesher,10))。要使用我的代码,您可能需要安装dplyr时使用:install.packages(“dplyr”)