After a pivot_wider(), I get the following data.frame.
How can I aggregate the data on the same line?

  CODE_C   CODE_P LIB_COMPOSANT LIB_PRODUIT `2020-01-01` `2020-02-01` `2020-03-01` `2020-04-01` `2020-05-01` `2020-06-01`
  <chr>    <chr>  <chr>         <chr>              <dbl>        <dbl>        <dbl>        <dbl>        <dbl>        <dbl>
1 FABR**01 FABR** Abricot, 82   Abricot             1.32        NA           NA           NA           NA           NA   
2 FABR**01 FABR** Abricot, 82   Abricot            NA            1.10        NA           NA           NA           NA   
3 FABR**01 FABR** Abricot, 82   Abricot            NA           NA            3.33        NA           NA           NA   
4 FABR**01 FABR** Abricot, 82   Abricot            NA           NA           NA            4.71        NA           NA   
5 FABR**01 FABR** Abricot, 82   Abricot            NA           NA           NA           NA            4.38        NA   
6 FABR**01 FABR** Abricot, 82   Abricot            NA           NA           NA           NA           NA            3.25

要复制数据框,请执行以下操作:

structure(list(CODE_C = c("FABR**01", "FABR**01", "FABR**01", 
"FABR**01", "FABR**01", "FABR**01"), CODE_P = c("FABR**", "FABR**", 
"FABR**", "FABR**", "FABR**", "FABR**"), LIB_COMPOSANT = c("Abricot, 82", 
"Abricot, 82", "Abricot, 82", "Abricot, 82", "Abricot, 82", "Abricot, 82"
), LIB_PRODUIT = c("Abricot", "Abricot", "Abricot", "Abricot", 
"Abricot", "Abricot"), `2020-01-01` = c(1.32446153846154, NA, 
NA, NA, NA, NA), `2020-02-01` = c(NA, 1.09984615384615, NA, NA, 
NA, NA), `2020-03-01` = c(NA, NA, 3.33157894736842, NA, NA, NA
), `2020-04-01` = c(NA, NA, NA, 4.70916279069767, NA, NA), `2020-05-01` = c(NA, 
NA, NA, NA, 4.37848648648649, NA), `2020-06-01` = c(NA, NA, NA, 
NA, NA, 3.24713953488372)), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))

初始Pivot_Wide()如下所示:

pivot_wider(DONNEES_COMPOSANT,
            names_from = date,
            values_from = PRIX)

预期输出:

 CODE_C   CODE_P LIB_COMPOSANT LIB_PRODUIT `2020-01-01` `2020-02-01` `2020-03-01` `2020-04-01` `2020-05-01` `2020-06-01`
  <chr>    <chr>  <chr>         <chr>              <dbl>        <dbl>        <dbl>        <dbl>        <dbl>        <dbl>
1 FABR**01 FABR** Abricot, 82   Abricot             1.32        1.10           3.33           4.71           4.38           3.25   

推荐答案

我会推断您的输入数据是

DONNEES_COMPOSANT <- structure(list(CODE_C = c("FABR**01", "FABR**01", "FABR**01", "FABR**01", "FABR**01", "FABR**01"), CODE_P = c("FABR**", "FABR**", "FABR**", "FABR**", "FABR**", "FABR**"), LIB_COMPOSANT = c("Abricot, 82", "Abricot, 82", "Abricot, 82", "Abricot, 82", "Abricot, 82", "Abricot, 82"), LIB_PRODUIT = c("Abricot", "Abricot", "Abricot", "Abricot", "Abricot", "Abricot"), date = c("2020-01-01", "2020-02-01", "2020-03-01", "2020-04-01", "2020-05-01", "2020-06-01"), PRIX = c(1.32446153846154, 1.09984615384615,  3.33157894736842, 4.70916279069767, 4.37848648648649, 3.24713953488372)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -6L))
DONNEES_COMPOSANT
# # A tibble: 6 × 6
#   CODE_C   CODE_P LIB_COMPOSANT LIB_PRODUIT date        PRIX
#   <chr>    <chr>  <chr>         <chr>       <chr>      <dbl>
# 1 FABR**01 FABR** Abricot, 82   Abricot     2020-01-01  1.32
# 2 FABR**01 FABR** Abricot, 82   Abricot     2020-02-01  1.10
# 3 FABR**01 FABR** Abricot, 82   Abricot     2020-03-01  3.33
# 4 FABR**01 FABR** Abricot, 82   Abricot     2020-04-01  4.71
# 5 FABR**01 FABR** Abricot, 82   Abricot     2020-05-01  4.38
# 6 FABR**01 FABR** Abricot, 82   Abricot     2020-06-01  3.25

要获得您想要的内容,我们需要将您的前四列指定为id_cols:

pivot_wider(DONNEES_COMPOSANT, id_cols = c(CODE_C, CODE_P, LIB_COMPOSANT, LIB_PRODUIT), names_from = "date", values_from = "PRIX")
# # A tibble: 1 × 10
#   CODE_C   CODE_P LIB_COMPOSANT LIB_PRODUIT `2020-01-01` `2020-02-01` `2020-03-01` `2020-04-01` `2020-05-01` `2020-06-01`
#   <chr>    <chr>  <chr>         <chr>              <dbl>        <dbl>        <dbl>        <dbl>        <dbl>        <dbl>
# 1 FABR**01 FABR** Abricot, 82   Abricot             1.32         1.10         3.33         4.71         4.38         3.25

R相关问答推荐

当使用stat_summary()+ after_stat()在图表上标记中位数/均值时,如何整齐地定位geom_text标签

在交互式情节中从barplot中获取值时遇到问题,在shinly中的ggplotly

如何提高以键ID为列的表中键查找的效率?

DT::可数据的正规表达OR运算符问题

如何将具有重复名称的收件箱合并到R中的另一列中,而结果不同?

如何使用shinyChatR包配置聊天机器人

在GGPLATE中将突出的点放在前面

如何在R中合并两个基准点?

如何计算多个日期是否在一个日期范围内

对于变量的每个值,仅 Select 包含列表中所有值的值.R

R—将各种CSV数字列转换为日期

如何写商,水平线,在一个单元格的表在R

DEN扩展包中的RECT树形图出现异常行为

来自程序包AFEX和amp;的类/函数和NICE_TABLE&冲突

在gggraph中显示来自不同数据帧的单个值

创建列并对大型数据集中的特定条件进行成对比较的更高效程序

仅当后续值与特定值匹配时,才在列中回填Nas

`-`是否也用于数据帧,有时使用引用调用?

主题(Legend.key=Element_RECT(Fill=&Quot;White&Quot;))不起作用

使用同一行中的前一个值填充R矩阵中的缺失值