r-将数据帧的值更改为列名并为其赋值



我遇到了一个小问题。我想要";2019";以及";2020";作为我的列名并且作为它们的值;计数器";并删除重复的名称。它看起来像这样:

# A tibble: 6 x 3
# Groups:   Full.Name [3]
Full.Name             year counter
<chr>                <dbl>   <int>
1 A. Patrick Beharelle  2019    5541
2 A. Patrick Beharelle  2020    3269
3 Aaron P. Graft        2019     165
4 Aaron P. Graft        2020     200
5 Aaron P. Jagdfeld     2019       4
6 Aaron P. Jagdfeld     2020       5

我希望它看起来像这样:

# A tibble: 6 x 3
# Groups:   Full.Name [3]
Full.Name             2019    2020
<chr>                <int>   <int>
1 A. Patrick Beharelle  5541    3269
2 Aaron P. Graft         165     200
3 Aaron P. Jagdfeld        4       5

我知道把数字作为一个集合名称是不明智的,所以这只是为了展示我想要归档的内容。我不知道这个过渡的正确术语是什么,所以我不知道该找什么。也许有人可以帮我归档这个转变。提前感谢!

这是一个经典的加宽整形-可以通过多种方式进行,其中之一是tidyr:中的pivot_wider()

library(tidyr)
data |> pivot_wider(names_from = year, values_from = counter)

输出:

#> # A tibble: 3 x 3
#>   Full.Name              `2019` `2020`
#>   <chr>                   <dbl>  <dbl>
#> 1 "A. Patrick Beharelle"   5541   3269
#> 2 "Aaron P. Graft      "    165    200
#> 3 "Aaron P. Jagdfeld   "      4      5

创建于2022-05-17由reprex包(v2.0.1)

有关使用tidyr重塑数据集的更多信息,请访问此处:https://tidyr.tidyverse.org/articles/pivot.html

最新更新