Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将数据框列拆分为多列_R - Fatal编程技术网

R 将数据框列拆分为多列

R 将数据框列拆分为多列,r,R,在R工作。 我有一个数据集,见下文。我希望“出口合作伙伴数量”和“进口合作伙伴数量”有两个不同的列,而不是将它们合并在“指标”下。我该怎么办?已尝试使用pivot命令,但无法确定如何使其工作 # A tibble: 747 x 4 reporter indicator year value <chr> <chr> <chr> <dbl> 1 Aruba No

在R工作。 我有一个数据集,见下文。我希望“出口合作伙伴数量”和“进口合作伙伴数量”有两个不同的列,而不是将它们合并在“指标”下。我该怎么办?已尝试使用pivot命令,但无法确定如何使其工作

# 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”)