【问题标题】:Problems to transforms data for time series转换时间序列数据的问题
【发布时间】:2020-03-30 17:27:11
【问题描述】:

我有一个问题。我有一个日期库,在两列中有两个变量,品牌和价格。例如:2 个品牌及其价格

品牌价格

10.5

11.5

12.5

B 9.8

B 9.5

而且还有更多的品牌和价格。

我想转换数据并在每一行中放入不重复的品牌和一列中的价格,但所有这些都作为因素并用逗号分隔

原来是这样的:

品牌价格

一个{10.5,11.5,12.5}

B {9.8,9.5}

有人可以帮我解决这个问题吗?

谢谢

以下是原始数据示例

enter image description here

【问题讨论】:

    标签: r


    【解决方案1】:

    欢迎来到stackoverflow。今后,请参阅how to make a great reproducible example 发帖提问。

    我认为您想要做的只是分组和连接。 Concatenate strings by group with dplyr

    由于您只想要独特的品牌,因此您只需 slice 即可。

    library(dplyr)
    
    df <- data.frame(brand = c("A", "A", "A", "B", "B"), price = c(10.5,11.5,12.5,9.8,9.5))
    
    df %>% 
      group_by(brand) %>% 
      mutate(brand_price = paste0(price, collapse = ",")) %>% 
      select(brand, brand_price) %>% 
      slice(1)
    
    > tdf
    # A tibble: 2 x 2
    # Groups:   brand [2]
      brand brand_price   
      <fct> <chr>         
    1 A     10.5,11.5,12.5
    2 B     9.8,9.5  
    

    【讨论】:

    • 非常感谢您的快速回答!!有用。下次我会根据您的建议写问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2020-06-13
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    相关资源
    最近更新 更多