特定のグループによる重複/繰り返しエントリを含まないフィルタリングする方法はありますか?

ロビンターキントン

最初にいくつかのコンテキスト:私は健康関連のデータを含むデータセットを扱っています。治療前後の質問票スコアが含まれます。ただし、一部のクライアントは、さらに処理するためにデータ内に再表示されます。コードセクションにデータのモック例を示しました。

これは私が最もよく知っているパッケージであるため、dplyrで解決策を考え出そうとしましたが、私が望んでいたことを達成できませんでした。

#Example/mock data
   ClientNumber<-c("4355", "2231", "8894", "9002", "4355", "2231", "8894", "9002", "4355", "2231")
        Pre_Post<-c(1,1,1,1,2,2,2,2,1,1)
        QuestionnaireScore<-c(62,76,88,56,22,30, 35,40,70,71)
        df<-data.frame(ClientNumber, Pre_Post, QuestionnaireScore)
        df$ClientNumber<-as.character(df$ClientNumber)
        df$Pre_Post<-as.factor(df$Pre_Post)
        View(df)
#tried solution
df2<-df%>%
  group_by(ClientNumber)%>%
  filter( Pre_Post==1|Pre_Post==2)
#this doesn't work, or needs more code to it

ご覧のとおり、最初の4つのクライアント番号には、治療前と治療後のスコアがあります。これはいい。ただし、クライアント番号4355と2231が最後に再び表示されます(再発して新しい治療を開始したと言えます)。これらの2人のクライアントは治療後のスコアを持っていません。

前後のスコアがあるクライアントのみを分析したいので、治療を完了したクライアントをフィルタリングする必要があります。また、データに再び表示された場合は、治療後のスコアがないクライアントは除外します。私が提供した例に関連して、最初の8つは分析に含め、最後の2つは治療後のスコアがないため除外したいと思います。

ロナック・シャー

もう1つのオプションは、すべてに対して2つのグループを作成し、2ClientNumberつの行があるグループのみを選択することです。

library(dplyr)

df %>%
  arrange(ClientNumber) %>%
  group_by(ClientNumber, group = cumsum(Pre_Post == 1)) %>%
  filter(n() == 2) %>%
  ungroup() %>%
  select(-group)

#  ClientNumber Pre_Post QuestionnaireScore
#    <chr>        <fct>          <dbl>
#1    2231         1               76
#2    2231         2               30
#3    4355         1               62
#4    4355         2               22
#5    8894         1               88
#6    8894         2               35
#7    9002         1               56
#8    9002         2               40

同じことを使用してベースRに変換できます ave

new_df <- df[order(df$ClientNumber), ]
subset(new_df, ave(Pre_Post,ClientNumber,cumsum(Pre_Post == 1),FUN = length) == 2)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

コードを繰り返さずに特定のパターンをフィルタリングして印刷する方法はありますか?

分類Dev

繰り返し値の数に基づいてPandasデータフレームをフィルタリングするより簡単な方法はありますか?

分類Dev

Python:グループに特定の値が含まれている限り、どのようにデータをフィルタリングしますか

分類Dev

追加のマップを配置しない{}をフィルタリングする方法はありますか?

分類Dev

結果をフィルタリングするためのより単純なSQLクエリまたはより良い方法はありますか?

分類Dev

正しい外部キーのdjangoフォームでクエリセットを動的にフィルタリングする方法はありますか?

分類Dev

関数の失敗した結果をフィルタリングするよりエレガントな方法はありますか?

分類Dev

データフレームのリストをループして、重複するエントリを含まない列の名前を返しますか?

分類Dev

クエリパラメータでルートをフィルタリングするより良い方法はありますか?

分類Dev

Rのターネリープロットに重複しないデータポイントラベルを付ける方法はありますか?

分類Dev

配列を繰り返しフィルタリングするにはどうすればよいですか?

分類Dev

特定の基準に基づいて繰り返し行をフィルタリングする方法

分類Dev

数式のみを使用して部分文字列で繰り返しエントリを含む複数列リストをフィルタリングする

分類Dev

ツイートのフィルタリングに使用されていない単語をツイートから取得する方法はありますか?

分類Dev

awkを使用して、さまざまなタイプのパターン(および重複する可能性のあるエントリ)を持つ特定の「単語」を抽出し、新しいタブ区切りファイルを作成します

分類Dev

data.frameの行を複数回フィルタリングする簡単な方法はありますか?

分類Dev

さまざまな条件でデータフレームを繰り返しフィルタリングする

分類Dev

HTMLドキュメントのデータをフィルタリングする方法はありますか?

分類Dev

スワップされた列が重複している行が返されないようにテーブルをフィルタリングします

分類Dev

全体を繰り返すことなく、キーのサブセットに基づいてマップの要素をフィルタリングします

分類Dev

「チェックリスト」フィールドのクエリをフィルタリングするための「オプション」はありますか?select2_multipleのように。しかし、select2_multipleの代わりにチェックリストを使用したい

分類Dev

エラー:光沢のあるUIリストからRモデルを動的にフィルタリングしている間、すべての観測値は同じグループにあります

分類Dev

awk:一致しない正規表現をフィルタリングする方法はありますか?

分類Dev

プログラムでリポジトリからpipをインストールすると、「そのようなファイルまたはディレクトリはありません」というエラーが発生します。

分類Dev

特定の値に基づいてデータフレームをフィルタリングするだけでなく、パンダを使用して一意の識別子の他のすべての値を保持する方法はありますか?

分類Dev

未来をフィルタリングするより良い方法はありますか

分類Dev

イベントログを動的にフィルタリングする方法はありますか?

分類Dev

列をループフィルタリングして、すべての列を含むリストを返します。各列には、フィルタリング基準を満たす対応する行名が含まれています。

分類Dev

mapまたはreduceを使用してこれをforループでリファクタリングするより良い方法はありますか?

Related 関連記事

  1. 1

    コードを繰り返さずに特定のパターンをフィルタリングして印刷する方法はありますか?

  2. 2

    繰り返し値の数に基づいてPandasデータフレームをフィルタリングするより簡単な方法はありますか?

  3. 3

    Python:グループに特定の値が含まれている限り、どのようにデータをフィルタリングしますか

  4. 4

    追加のマップを配置しない{}をフィルタリングする方法はありますか?

  5. 5

    結果をフィルタリングするためのより単純なSQLクエリまたはより良い方法はありますか?

  6. 6

    正しい外部キーのdjangoフォームでクエリセットを動的にフィルタリングする方法はありますか?

  7. 7

    関数の失敗した結果をフィルタリングするよりエレガントな方法はありますか?

  8. 8

    データフレームのリストをループして、重複するエントリを含まない列の名前を返しますか?

  9. 9

    クエリパラメータでルートをフィルタリングするより良い方法はありますか?

  10. 10

    Rのターネリープロットに重複しないデータポイントラベルを付ける方法はありますか?

  11. 11

    配列を繰り返しフィルタリングするにはどうすればよいですか?

  12. 12

    特定の基準に基づいて繰り返し行をフィルタリングする方法

  13. 13

    数式のみを使用して部分文字列で繰り返しエントリを含む複数列リストをフィルタリングする

  14. 14

    ツイートのフィルタリングに使用されていない単語をツイートから取得する方法はありますか?

  15. 15

    awkを使用して、さまざまなタイプのパターン(および重複する可能性のあるエントリ)を持つ特定の「単語」を抽出し、新しいタブ区切りファイルを作成します

  16. 16

    data.frameの行を複数回フィルタリングする簡単な方法はありますか?

  17. 17

    さまざまな条件でデータフレームを繰り返しフィルタリングする

  18. 18

    HTMLドキュメントのデータをフィルタリングする方法はありますか?

  19. 19

    スワップされた列が重複している行が返されないようにテーブルをフィルタリングします

  20. 20

    全体を繰り返すことなく、キーのサブセットに基づいてマップの要素をフィルタリングします

  21. 21

    「チェックリスト」フィールドのクエリをフィルタリングするための「オプション」はありますか?select2_multipleのように。しかし、select2_multipleの代わりにチェックリストを使用したい

  22. 22

    エラー:光沢のあるUIリストからRモデルを動的にフィルタリングしている間、すべての観測値は同じグループにあります

  23. 23

    awk:一致しない正規表現をフィルタリングする方法はありますか?

  24. 24

    プログラムでリポジトリからpipをインストールすると、「そのようなファイルまたはディレクトリはありません」というエラーが発生します。

  25. 25

    特定の値に基づいてデータフレームをフィルタリングするだけでなく、パンダを使用して一意の識別子の他のすべての値を保持する方法はありますか?

  26. 26

    未来をフィルタリングするより良い方法はありますか

  27. 27

    イベントログを動的にフィルタリングする方法はありますか?

  28. 28

    列をループフィルタリングして、すべての列を含むリストを返します。各列には、フィルタリング基準を満たす対応する行名が含まれています。

  29. 29

    mapまたはreduceを使用してこれをforループでリファクタリングするより良い方法はありますか?

ホットタグ

アーカイブ