【问题标题】:Pivot Longer with Modification of Columns通过修改列旋转更长的时间
【发布时间】:2021-12-27 02:31:06
【问题描述】:

我有以下格式的数据:

(data <- tribble(
  ~Date, ~ENRSxOPEN, ~ENRSxCLOSE, ~INFTxOPEN, ~INFTxCLOSE,
  "1989-09-11",82.97,82.10,72.88,72.56,
  "1989-09-12",83.84,83.96,73.52,72.51,
  "1989-09-13",83.16,83.88,72.91,72.12))
# A tibble: 3 x 5
  Date       ENRSxOPEN ENRSxCLOSE INFTxOPEN INFTxCLOSE
  <chr>          <dbl>      <dbl>     <dbl>      <dbl>
1 1989-09-11      83.0       82.1      72.9       72.6
2 1989-09-12      83.8       84.0      73.5       72.5
3 1989-09-13      83.2       83.9      72.9       72.1

为了分析,我想将这个小标题更长地转换为以下格式:

tribble(
  ~Ticker, ~Date, ~OPEN, ~CLOSE,
  "ENRS","1989-09-11",82.97,82.10,
  "ENRS","1989-09-12",83.84,83.96,
  "ENRS","1989-09-13",83.16,83.88,
  "INFT","1989-09-11",72.88,72.56,
  "INFT","1989-09-12",73.52,72.51,
  "INFT","1989-09-13",72.91,72.12)
# A tibble: 3 x 5
  Date       ENRSxOPEN ENRSxCLOSE INFTxOPEN INFTxCLOSE
  <chr>          <dbl>      <dbl>     <dbl>      <dbl>
1 1989-09-11      83.0       82.1      72.9       72.6
2 1989-09-12      83.8       84.0      73.5       72.5
3 1989-09-13      83.2       83.9      72.9       72.1

即,我想将开盘价/收盘价与代码分开,并将后者作为一个全新的列放在开头。

我尝试过使用 pivot_longer 函数:

pivot_longer(data, cols = ENRSxOPEN:INFTxCLOSE)

虽然这朝着我想要实现的方向发展,但它并没有将价格分开并将每个 Ticker 保持在一行中。 有没有办法向pivot_longer()添加额外的参数来实现这一点?

【问题讨论】:

    标签: r data-analysis data-cleaning


    【解决方案1】:
    pivot_longer(data, -Date, names_to = c('Ticker', '.value'), names_sep = 'x')
    
    # A tibble: 6 x 4
       Date Ticker  OPEN CLOSE
      <dbl> <chr>  <dbl> <dbl>
    1  1969 ENRS    83.0  82.1
    2  1969 INFT    72.9  72.6
    3  1968 ENRS    83.8  84.0
    4  1968 INFT    73.5  72.5
    5  1967 ENRS    83.2  83.9
    6  1967 INFT    72.9  72.1
    

    【讨论】:

    • 谢谢!有没有办法同时对 Ticker 符号进行排序? IE。首先是“ENRS”,然后是“INFT”...
    • @Luca 包括%&gt;%arrange(Ticker)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2015-01-30
    • 1970-01-01
    • 2021-06-04
    • 2023-01-27
    • 2012-10-02
    • 1970-01-01
    相关资源
    最近更新 更多