R:条件が満たされた後のすべての行のサブセットデータフレーム

philipp.kn_98

だから私は次の形式のデータセットを持っています:

ID    Var1   Var2
1      2      0
1      8      0
1      12     0
1      11     1
1      10     1
2      5      0
2      8      0
2      7      0
2      6      1
2      5      1

データフレームをサブセット化し、Var1が最初にグループに達した後の行のみを含む新しいデータフレームを作成したいと思います-最大(これが発生する行を含む)からVar2が初めて1になる行(この行も含む)まで。だから私が欲しいものは次のようになります:

ID    Var1   Var2
1      12     0
1      11     1
2      8      0
2      7      0
2      6      1

元のデータセットには多数のNAが含まれており、関数はそれらを単に無視する必要があります。また、Var2がグループの「1」に到達しない場合は、すべての行を新しいデータフレームに追加する必要があります(もちろん、Var1がグループの最大値に達した後の行のみ)。しかし、プログラミングに手を包むことはできません。誰か助けを知っていますか?

ルイ・バラダス

ベースdplyrソリューションは、質問が求めることを実行します。cumsumfilter

library(dplyr)

df1 %>%
  group_by(ID) %>%
  filter(cumsum(Var1 == max(Var1)) == 1, cumsum(Var2) <= 1)
## A tibble: 5 x 3
## Groups:   ID [2]
#     ID  Var1  Var2
#  <int> <int> <int>
#1     1    12     0
#2     1    11     1
#3     2     8     0
#4     2     7     0
#5     2     6     1

編集

これは、OPのコメントと質問の編集に答えようとする解決策です。

df1 %>%
  group_by(ID) %>%
  mutate_at(vars(starts_with('Var')), ~replace_na(., 0L)) %>%
  filter(cumsum(Var1 == max(Var1)) == 1, cumsum(Var2) <= 1)

データ

df1 <- read.table(text = "
ID    Var1   Var2
1      2      0
1      8      0
1      12     0
1      11     1
1      10     1
2      5      0
2      8      0
2      7      0
2      6      1
2      5      1
", header = TRUE)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

条件が最後に満たされたときからデータフレームの最後の行までのサブセットデータ-各サブジェクトに適用されます

分類Dev

Rの別のデータフレームで同時に満たされた2つの条件に基づいてデータフレームをサブセット化するにはどうすればよいですか?

分類Dev

リストの条件を満たす特定のデータフレームをサブセット化する

分類Dev

1つの条件を満たす行に基づいて2つのデータフレームをサブセット化するパンダ

分類Dev

指定された文字列とX未満の値を持つ列からすべての行を削除して、データフレームをサブセット化するにはどうすればよいですか?

分類Dev

Rで複数のシミュレートされた条件を使用してデータフレームをサブセット化する

分類Dev

別のデータフレームの日時に条件付けられたデータフレームの特定の行をサブセット化する方法

分類Dev

別のデータセットで評価されたブール条件に基づいてデータセットをサブセット化し、条件(R)を満たす行を保持しますか?

分類Dev

複数の条件が満たされたデータセットを返すSQL

分類Dev

条件付きでサブセット化されたデータフレームのインデックスによって列を抽出します

分類Dev

別の列で条件が満たされた後に発生するサブセット行

分類Dev

R:データフレーム内のサブセット化された行のみにforループを適用する方法

分類Dev

条件を満たす行がない場合に返される空のデータフレーム

分類Dev

「整頓された」データフレーム内の選択されたポイントの上のN行をサブセット化する方法

分類Dev

ネストされたデータフレームのサブセットの平均(R)

分類Dev

条件が満たされた場合、別のデータフレームの一致に基づいてデータフレームを更新します

分類Dev

条件が満たされる前後にデータフレームの行を選択するにはどうすればよいですか?

分類Dev

少なくとも1つの行が条件を満たすデータフレーム内のすべての行をフィルタリングする

分類Dev

[-0、]を使用したRデータフレームのすべての行の削除は公式にサポートされていますか?

分類Dev

ネストされたデータフレーム構造全体のサブセットR

分類Dev

R:データフレームのすべての行について特定の基準を満たす最後の値の位置を見つけます

分類Dev

R:ロングデータ:条件が満たされた後、同じID内の後続のすべてのobsを削除する方法は?

分類Dev

データをRのデータフレームのフィルタリングされたサブセットに置き換えます

分類Dev

データフレームのサブセットを抽出して操作した後、元の行インデックスを取得する方法

分類Dev

Pandasデータフレームで、開始行と終了行の両方が異なる条件を満たすことに基づいて行のセットをフィルタリングするにはどうすればよいですか?

分類Dev

3桁の数字をすべてサブセット化し、データフレーム内の区切り文字で折りたたむ。R

分類Dev

別のデータセットで指定された値に基づいてデータフレームをサブセット化する

分類Dev

別の列条件が満たされた場合を除いて、データフレームから行を除外します

分類Dev

パンダデータフレームの行の削除:特定の条件が満たされるたびに、前のk行を削除します

Related 関連記事

  1. 1

    条件が最後に満たされたときからデータフレームの最後の行までのサブセットデータ-各サブジェクトに適用されます

  2. 2

    Rの別のデータフレームで同時に満たされた2つの条件に基づいてデータフレームをサブセット化するにはどうすればよいですか?

  3. 3

    リストの条件を満たす特定のデータフレームをサブセット化する

  4. 4

    1つの条件を満たす行に基づいて2つのデータフレームをサブセット化するパンダ

  5. 5

    指定された文字列とX未満の値を持つ列からすべての行を削除して、データフレームをサブセット化するにはどうすればよいですか?

  6. 6

    Rで複数のシミュレートされた条件を使用してデータフレームをサブセット化する

  7. 7

    別のデータフレームの日時に条件付けられたデータフレームの特定の行をサブセット化する方法

  8. 8

    別のデータセットで評価されたブール条件に基づいてデータセットをサブセット化し、条件(R)を満たす行を保持しますか?

  9. 9

    複数の条件が満たされたデータセットを返すSQL

  10. 10

    条件付きでサブセット化されたデータフレームのインデックスによって列を抽出します

  11. 11

    別の列で条件が満たされた後に発生するサブセット行

  12. 12

    R:データフレーム内のサブセット化された行のみにforループを適用する方法

  13. 13

    条件を満たす行がない場合に返される空のデータフレーム

  14. 14

    「整頓された」データフレーム内の選択されたポイントの上のN行をサブセット化する方法

  15. 15

    ネストされたデータフレームのサブセットの平均(R)

  16. 16

    条件が満たされた場合、別のデータフレームの一致に基づいてデータフレームを更新します

  17. 17

    条件が満たされる前後にデータフレームの行を選択するにはどうすればよいですか?

  18. 18

    少なくとも1つの行が条件を満たすデータフレーム内のすべての行をフィルタリングする

  19. 19

    [-0、]を使用したRデータフレームのすべての行の削除は公式にサポートされていますか?

  20. 20

    ネストされたデータフレーム構造全体のサブセットR

  21. 21

    R:データフレームのすべての行について特定の基準を満たす最後の値の位置を見つけます

  22. 22

    R:ロングデータ:条件が満たされた後、同じID内の後続のすべてのobsを削除する方法は?

  23. 23

    データをRのデータフレームのフィルタリングされたサブセットに置き換えます

  24. 24

    データフレームのサブセットを抽出して操作した後、元の行インデックスを取得する方法

  25. 25

    Pandasデータフレームで、開始行と終了行の両方が異なる条件を満たすことに基づいて行のセットをフィルタリングするにはどうすればよいですか?

  26. 26

    3桁の数字をすべてサブセット化し、データフレーム内の区切り文字で折りたたむ。R

  27. 27

    別のデータセットで指定された値に基づいてデータフレームをサブセット化する

  28. 28

    別の列条件が満たされた場合を除いて、データフレームから行を除外します

  29. 29

    パンダデータフレームの行の削除:特定の条件が満たされるたびに、前のk行を削除します

ホットタグ

アーカイブ