ピボットを使用してデータフレームを目的の形式に並べ替えます

ラウル

私は現在、この形式のデータフレームを持っています:

week    A_Revenue   B_Revenue   C_Revenue   D_Revenue   A_P_pct.chg B_P_pct.chg C_P_pct.chg D_P_pct.chg
34  8465.9  12299.98    10621   1548.375    59.50223    34.06917    41.46715    -3.305127
33  5307.7  9174.35 7507.75 1601.3  NA  NA  NA  NA

そして、私はそれを次のようにフォーマットしたいと思います: ここに画像の説明を入力してください

どうすればそれについて行くことができますか?tidyr :: pivot_longer(2:5)を試しました。これにより、収益ソースがスタンドアロンの列として表示されますが、毎週の収益をそれぞれの列に取り込むことができませんでした。

編集:完全なデータセットには、私が追加する毎日のトランザクションが含まれています。

dat$week <- format(dat$Date, format = "%V")

それらの日の週の範囲を含める。次に、次のコードを使用して目的の週をフィルタリングします。

dat1 <- dat %>%
  filter(between(week, todays_week - 2, todays_week - 1)) %>%
  group_by(week) %>%
  summarise(A_Revenue = sum(A_Revenue),
            B_Revenue = sum(B_Revenue),
            C_Revenue = sum(C_Revenue),
            D_Revenue = sum(D_Revenue)) %>%
  mutate(A_P_pct.chg = 100 * ((A_Revenue - lag(A_Revenue))/lag(A_Revenue)),
         B_P_pct.chg = 100 * ((B_Revenue - lag(B_Revenue))/lag(B_Revenue)),
         C_P_pct.chg = 100 * ((C_Revenue - lag(C_Revenue))/lag(C_Revenue)),
         D_P_pct.chg = 100 * ((D_Revenue - lag(D_Revenue))/lag(D_Revenue)))

これにより、簡単に比較できるように提供された画像に再形成しようとしている、投稿された最初のデータフレームが生成されます。

ロナックシャー

代わりに、異なる列ごとに計算するあなたは、長い形式と計算のデータを取得することができますsumし、pct.changeそれぞれのためにname

library(dplyr)

todays_week = lubridate::week(Sys.Date())

dat %>%
  filter(between(week, todays_week - 2, todays_week - 1)) %>%
  tidyr::pivot_longer(cols = ends_with('Revenue')) %>%
  group_by(name, week) %>%
  summarise(value = sum(value, na.rm = TRUE)) %>%
  mutate(rev_prev_week = lag(value),
         pct_change = (value - rev_prev_week)/rev_prev_week * 100)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ピボットを使用して多重指数データフレームを並べ替える

分類Dev

列名を並べ替えずにデータフレームピボット?

分類Dev

パンダのデータフレームをインデックスで並べ替え、次にアルファベット順に並べ替えます

分類Dev

インデックスを並べ替えずに2つのデータフレームを追加します

分類Dev

reshape2を使用して、データフレームの最初の列を並べ替えます

分類Dev

長い形式のデータフレームを複数の列に従って配置し、並べ替え方向の変更を考慮に入れます

分類Dev

名前の並べ替えを維持しながら、データフレームを名前で並べ替え、次に日付で並べ替えます

分類Dev

Pandasデータフレームを並べ替えて、一意のエントリを保存します

分類Dev

並べ替えられたパンダのデータフレームは、フォーマットに応じて異なる値を返します

分類Dev

1つの列を並べ替えて、データフレームを並べ替えます

分類Dev

データフレーム内の列を連結し、番号に基づいて並べ替えます

分類Dev

ユーザー列PythonPandasでコストセンター列とそのユーザーを使用してデータフレームを並べ替えます

分類Dev

整数データ型を使用して、別の列の値に基づいてデータフレームを並べ替えます

分類Dev

データフレームのリストの各データフレームで列をアルファベット順に並べ替えます

分類Dev

Rのターゲットベクトルに従ってデータフレームグループを並べ替えます

分類Dev

データ属性を使用してdivをアルファベット順に並べ替えます

分類Dev

行を削除し、あるデータフレームを別のデータフレームに従って並べ替えます

分類Dev

アルファベットの数値データを使用して列を並べ替えます。

分類Dev

このデータをピボットのようにExcelで並べ替えます

分類Dev

文字列のリストを使用してPandasデータフレームの列を並べ替える方法

分類Dev

データフレームをグループ化して、タイムスタンプの並べ替えで最新のメッセージを取得します

分類Dev

Rのペア列を使用してデータフレームを列方向に並べ替える方法は?

分類Dev

dplyrを使用して、パターンに基づいてデータフレームをフィルタリングし、並べ替えます

分類Dev

R-rbindの後にデータフレームを並べ替え、NAを順番に保持します

分類Dev

ピボットデータフレームのインデックスを特定のユーザー定義の順序で並べ替える

分類Dev

データフレームのすべての列を並べ替える

分類Dev

データフレームgroupByを起動し、結果をリストに並べ替えます

分類Dev

Rのmyltiple列(列の大きなセット)でデータフレームを並べ替えます

分類Dev

正と負の値に基づいてデータフレーム列の値を並べ替えますか?

Related 関連記事

  1. 1

    ピボットを使用して多重指数データフレームを並べ替える

  2. 2

    列名を並べ替えずにデータフレームピボット?

  3. 3

    パンダのデータフレームをインデックスで並べ替え、次にアルファベット順に並べ替えます

  4. 4

    インデックスを並べ替えずに2つのデータフレームを追加します

  5. 5

    reshape2を使用して、データフレームの最初の列を並べ替えます

  6. 6

    長い形式のデータフレームを複数の列に従って配置し、並べ替え方向の変更を考慮に入れます

  7. 7

    名前の並べ替えを維持しながら、データフレームを名前で並べ替え、次に日付で並べ替えます

  8. 8

    Pandasデータフレームを並べ替えて、一意のエントリを保存します

  9. 9

    並べ替えられたパンダのデータフレームは、フォーマットに応じて異なる値を返します

  10. 10

    1つの列を並べ替えて、データフレームを並べ替えます

  11. 11

    データフレーム内の列を連結し、番号に基づいて並べ替えます

  12. 12

    ユーザー列PythonPandasでコストセンター列とそのユーザーを使用してデータフレームを並べ替えます

  13. 13

    整数データ型を使用して、別の列の値に基づいてデータフレームを並べ替えます

  14. 14

    データフレームのリストの各データフレームで列をアルファベット順に並べ替えます

  15. 15

    Rのターゲットベクトルに従ってデータフレームグループを並べ替えます

  16. 16

    データ属性を使用してdivをアルファベット順に並べ替えます

  17. 17

    行を削除し、あるデータフレームを別のデータフレームに従って並べ替えます

  18. 18

    アルファベットの数値データを使用して列を並べ替えます。

  19. 19

    このデータをピボットのようにExcelで並べ替えます

  20. 20

    文字列のリストを使用してPandasデータフレームの列を並べ替える方法

  21. 21

    データフレームをグループ化して、タイムスタンプの並べ替えで最新のメッセージを取得します

  22. 22

    Rのペア列を使用してデータフレームを列方向に並べ替える方法は?

  23. 23

    dplyrを使用して、パターンに基づいてデータフレームをフィルタリングし、並べ替えます

  24. 24

    R-rbindの後にデータフレームを並べ替え、NAを順番に保持します

  25. 25

    ピボットデータフレームのインデックスを特定のユーザー定義の順序で並べ替える

  26. 26

    データフレームのすべての列を並べ替える

  27. 27

    データフレームgroupByを起動し、結果をリストに並べ替えます

  28. 28

    Rのmyltiple列(列の大きなセット)でデータフレームを並べ替えます

  29. 29

    正と負の値に基づいてデータフレーム列の値を並べ替えますか?

ホットタグ

アーカイブ