R:増分列に基づいて、データフレームに一意のIDを割り当てます

ひまんしゅゴータム

私の動機は、このデータフレームを分割して、各分割が「開始」で始まり「終了」で終わるようにすることです。

Input Format :
> df
   sampleData proc_id
1       begin       0
2         mid       0
3         mid       0
4         mid       0
5         mid       0
6         end       0
7       begin       0
8         mid       0
9         mid       0
10        mid       0
11        mid       0
12        mid       0
13        mid       0
14        end       0
15      begin       0
16        mid       0
17        mid       0
18        mid       0
19        mid       0
20        end       0

> df$proc_id[1:6]<-1
> df$proc_id[7:14]<-2
> df$proc_id[15:20]<-3

Output Format:
> df
   sampleData proc_id
1       begin       1
2         mid       1
3         mid       1
4         mid       1
5         mid       1
6         end       1
7       begin       2
8         mid       2
9         mid       2
10        mid       2
11        mid       2
12        mid       2
13        mid       2
14        end       2
15      begin       3
16        mid       3
17        mid       3
18        mid       3
19        mid       3
20        end       3     

私は、forループを記述し、データフレームの各行にprocess_id(begin、mid、endがそのステージ)を割り当てることを検討してきました。次に、このprocess_idを分割すると、各プロセスが個別のデータフレームに分割されます。

私ができるもう1つのアプローチは、すべての「開始」アイテムのインデックスを取得することです。次に、apply()呼び出しで使用される関数への追加の引数としてそれを渡します。

私はRの初心者なので、誰かが私にもっと良いアプローチを提案できますか。それを達成するためのパッケージがある場合は、それについても教えてください。

ありがとう

ひまんしゅゴータム

解決策をありがとうasmohamed。しかし、目的の出力を得るために、ソリューションを微調整する必要がありました。最終的な解決策は次のとおりです。

> df$proc_id<-0
> begins <- which(df$sampleData=="begin")
> ends <- which(df$sampleData=="end") +1
> inter <- intersect(begins, ends)
> inter<-c(1,inter,length(df$sampleData)+1)
> df$proc_id <- do.call(function(x)rep(x-1, inter[x]-inter[x-1]), list(2:length(inter) ))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

一連の増分の非連続番号に基づいて、Rのデータフレームに一意のIDを追加する方法

分類Dev

一意のIDパンダデータフレームに基づいて行を収集します

分類Dev

一意の値に基づいて2列のデータフレームを並べ替えます

分類Dev

レーベンシュタイン距離に基づいて、Rの同様の行に一意のインデックスを割り当てます

分類Dev

条件に基づいてパンダデータフレームの行のグループに一意の値を割り当てる方法は?

分類Dev

R-前の行の値に基づいてデータフレームの行に一意のシーケンスIDを作成する

分類Dev

一意の値に基づいてデータフレーム全体をフィルタリングし、Rに新しい列を作成します

分類Dev

一意の値を使用して、別のデータフレームに基づいてデータフレームを作成します

分類Dev

複数のキーに基づいて一意のデータフレーム行を取得する方法

分類Dev

一意の値に基づいてデータフレームに関数を適用する

分類Dev

列ごとの一意の値に基づいてパンダのデータフレームを切り取ります

分類Dev

一意のIDごとに最新のタイムスタンプに基づいてデータフレームをフィルタリングする

分類Dev

行が繰り返される2つの列、Rデータフレームに基づいて一意の値をカウントする

分類Dev

一意の行に基づいてPythonデータフレームを連結する

分類Dev

2つの列に基づいて一意のIDを割り当てます

分類Dev

パンダデータフレーム内のすべての一意の値に基づいてデータをピボットします

分類Dev

Pythonデータフレームは、いくつかの基準に基づいて一意の値を一覧表示します

分類Dev

データの重複に基づいて一意のIDを生成する

分類Dev

rの2つのデータフレーム間で一致する観測値に同一の一意のIDを割り当てる方法は?

分類Dev

異なるインデックスを持つ一意の値に基づいて、1番目のデータフレームから2番目のデータフレームに値を更新することにより、各行を繰り返します。それ以外の場合は、新しいIDを追加して割り当てます。

分類Dev

Pythonのデータフレームの条件に基づいて可能なすべての一意の組み合わせでリストを作成します

分類Dev

一意の値と列の値に基づいて、データフレームから行をランダムに描画します

分類Dev

発売月(分)に基づいてデータセンターに一意の値を割り当てますか?SQLの質問

分類Dev

Rの行間の時間差に基づいて、各グループに一意のIDを割り当てます

分類Dev

pandasデータフレームの条件に基づいて列に値を割り当てます

分類Dev

条件に基づいてPandasデータフレームの値を繰り返し割り当てます

分類Dev

ソートされた値に基づいてデータフレーム内の一意の値を選択します

分類Dev

他の列の一意の組み合わせに基づいてデータフレーム列の値を変更します

分類Dev

Altair棒グラフは、データフレーム列に基づいて特定の色を割り当てます

Related 関連記事

  1. 1

    一連の増分の非連続番号に基づいて、Rのデータフレームに一意のIDを追加する方法

  2. 2

    一意のIDパンダデータフレームに基づいて行を収集します

  3. 3

    一意の値に基づいて2列のデータフレームを並べ替えます

  4. 4

    レーベンシュタイン距離に基づいて、Rの同様の行に一意のインデックスを割り当てます

  5. 5

    条件に基づいてパンダデータフレームの行のグループに一意の値を割り当てる方法は?

  6. 6

    R-前の行の値に基づいてデータフレームの行に一意のシーケンスIDを作成する

  7. 7

    一意の値に基づいてデータフレーム全体をフィルタリングし、Rに新しい列を作成します

  8. 8

    一意の値を使用して、別のデータフレームに基づいてデータフレームを作成します

  9. 9

    複数のキーに基づいて一意のデータフレーム行を取得する方法

  10. 10

    一意の値に基づいてデータフレームに関数を適用する

  11. 11

    列ごとの一意の値に基づいてパンダのデータフレームを切り取ります

  12. 12

    一意のIDごとに最新のタイムスタンプに基づいてデータフレームをフィルタリングする

  13. 13

    行が繰り返される2つの列、Rデータフレームに基づいて一意の値をカウントする

  14. 14

    一意の行に基づいてPythonデータフレームを連結する

  15. 15

    2つの列に基づいて一意のIDを割り当てます

  16. 16

    パンダデータフレーム内のすべての一意の値に基づいてデータをピボットします

  17. 17

    Pythonデータフレームは、いくつかの基準に基づいて一意の値を一覧表示します

  18. 18

    データの重複に基づいて一意のIDを生成する

  19. 19

    rの2つのデータフレーム間で一致する観測値に同一の一意のIDを割り当てる方法は?

  20. 20

    異なるインデックスを持つ一意の値に基づいて、1番目のデータフレームから2番目のデータフレームに値を更新することにより、各行を繰り返します。それ以外の場合は、新しいIDを追加して割り当てます。

  21. 21

    Pythonのデータフレームの条件に基づいて可能なすべての一意の組み合わせでリストを作成します

  22. 22

    一意の値と列の値に基づいて、データフレームから行をランダムに描画します

  23. 23

    発売月(分)に基づいてデータセンターに一意の値を割り当てますか?SQLの質問

  24. 24

    Rの行間の時間差に基づいて、各グループに一意のIDを割り当てます

  25. 25

    pandasデータフレームの条件に基づいて列に値を割り当てます

  26. 26

    条件に基づいてPandasデータフレームの値を繰り返し割り当てます

  27. 27

    ソートされた値に基づいてデータフレーム内の一意の値を選択します

  28. 28

    他の列の一意の組み合わせに基づいてデータフレーム列の値を変更します

  29. 29

    Altair棒グラフは、データフレーム列に基づいて特定の色を割り当てます

ホットタグ

アーカイブ