我有来自tidyr包的gather()函数的问题.
sample
# A tibble: 5 × 6
market_share Y2012 Y2013 Y2014 Y2015 Y2016
<chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 KAB 0.23469425 0.23513725 0.23187590 0.22940831 0.22662625
2 BGD 0.21353096 0.21352769 0.20910574 0.20035900 0.19374223
3 NN 0.16891699 0.16204919 0.16272993 0.16388675 0.16154017
4 OG 0.07648682 0.07597078 0.07945966 0.07780233 0.08069057
5 Ha 0.05092648 0.05480555 0.06434457 0.07127716 0.08054208
Run Code Online (Sandbox Code Playgroud)
如果我尝试:
sample2 <- gather(sample, market_share, period, Y2012:Y2016)
Error: Each variable must have a unique name.
Problem variables: 'market_share'
Run Code Online (Sandbox Code Playgroud)
但是,每个变量似乎都有一个唯一的名称.
Ha KAB BGD NN OG
1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)
这似乎是人们聚集的常见问题,但我不明白.
第二个和第三个参数是要在输出中创建的键和值列的名称.具有相同名称的两列是奇数,并且与tidyror的其他函数不兼容dplyr.我建议为新列提供其他名称.因此,您可以尝试:
sample2 <- gather(sample, period, value, Y2012:Y2016)
Run Code Online (Sandbox Code Playgroud)