Rの複数の条件でデータフレームをサブセット化する

トリパルナポッドダー

私のデータセットにはいくつかの変数があり、サブセットを作成し、それらの条件に基づいて新しい変数を作成したいと思います

dat1 
S1 S2 H1 H2 Month1 Year1 Month2 Year2
16 17 81 70  09   2017   07      2017
17 16 80 70  08   2017   08      2016
14 16 81 81  09   2016   05      2016
18 15 70 81  07   2016   09      2017
17 16 80 80  08   2016   05      2016
18 18 81 70  05   2017   04      2016

S1 = 16,17,18およびH1 = 81,80の場合、新しい変数Hist = H1、date = paste(Month1、Year1)Sip = S1を作成するようにサブセット化します。S2、H2のセットについても同様です。私の出力は次のようになります。[最初の4行はS1、H1、Month1、Year2のセット用で、最後の2行はS2、H2、Month2、Year2からのものです。

Hist Sip Date
81   16  09-2017
80   17  08-2017
80   17  08-2016
81   18  05-2017
81   16  05-2016
80   16  05-2016

私のコード:

datnew <- dat1 %>%
 mutate(Date=ifelse((S1==16|S1==17|S1=18)&(H1==80|H1==81),paste(01,Month1,Year1,sep="-"),
                      ifelse((S2==16|S2==17|S2==18)&(H2==80|H2==81),paste(Month2,Year2,sep="-"),"NA")),
      hist=ifelse((S1==16|S1==17|S1=18)&(H1==80|H1==81),H1,
                  ifelse((S2==16|S2==17|S2==18)&(H2==80|H2==81),H2,"NA")),
      sip=ifelse((S1==16|S1==17|S1=18)&(H1==80|H1==81),S1,
                  ifelse((S2==16|S2==17|S2==18)&(H2==80|H2==81),S2,"NA"))) 

元のデータには、S1-S10、H1-H10、Month1_-Month10などの10セットの列があります。また、変数ごとに、さらに多くの数値条件があります。この方法では、それは継続しています。これを行うためのより良い方法はありますか?

前もって感謝します

ポール

これがtidyverse解決策です。2つのデータフレームに分割し、行を結合します。

library(tidyverse)
  
bind_rows(
  dat1 %>% select(patientId, ends_with("1")) %>% rename_all(str_remove, "1"),
  dat1 %>% select(patientId, ends_with("2")) %>% rename_all(str_remove, "2")
) %>%
  transmute(
    patientId,
    Hist = H,
    Sip = S,
    date = paste0(Month, "-", Year)
  ) %>%
  filter(
    Sip %in% 16:18,
    Hist %in% 80:81
  )
#> # A tibble: 6 x 4
#>    patientId  Hist   Sip date   
#>        <int> <dbl> <dbl> <chr>  
#> 1          1    81    16 09-2017
#> 2          2    80    17 08-2017
#> 3          5    80    17 08-2016
#> 4          6    81    18 05-2017
#> 5          3    81    16 05-2016
#> 6          5    80    16 05-2016

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

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

分類Dev

Rのデータフレームのリストを条件付きでサブセット化する

分類Dev

R-複数のデータフレームから特定の行をサブセット化する方法

分類Dev

複数の列の小文字の値でデータフレームをサブセット化する方法

分類Dev

複数の条件を持つ別のデータフレームに基づいてデータフレームをサブセット化する

分類Dev

2つの要素変数の日数と値を含む複数の条件でデータフレームをサブセット化する方法

分類Dev

日付のある複数の列に複数の条件を持つパンダのデータフレームをサブセット化する

分類Dev

複数の間隔を使用してデータフレームを複数のサブデータフレームにサブセット化する方法

分類Dev

間の範囲の複数の日付条件を含むデータ フレームのサブセット化

分類Dev

複数のデータフレームから共通の行をサブセット化する

分類Dev

Rでは、複数の列の要素によってデータフレームを分割/サブセット化する方法は?

分類Dev

多くの列の条件でデータフレームをサブセット化する

分類Dev

Rの条件に基づいてデータフレームをサブセット化する方法

分類Dev

ループを使用してデータフレームを他の複数のデータフレームにサブセット化する

分類Dev

データフレームをRの「最良の正方形」にサブセット化する関数

分類Dev

Rの列内の一意の値でデータフレームをサブセット化する

分類Dev

粒度のレベルでデータをサブセット化し、Rの各データフレームに関数を適用する

分類Dev

for ループで複数のデータフレームからデータをサブセット化する方法

分類Dev

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

分類Dev

lapplyを使用し、特性と関数の両方でデータフレームをサブセット化する

分類Dev

Rの複数のワイルドカード基準に基づいてデータフレームをサブセット化する

分類Dev

R-データフレームのリストを条件とする大きなデータテーブルの高速サブセット化

分類Dev

データフレームをサブセット化し、すべてのサブセットをループでプロットする [R]

分類Dev

Rでデータフレームをサブセット化する関数を作成する

分類Dev

Rでデータフレームをサブセット化する

分類Dev

Rでデータフレームの複数の並列サブセットを取得するための良い方法は何ですか?

分類Dev

複数の条件を持つデータフレームからの条件付きサブセット

分類Dev

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

分類Dev

rのforループ内のデータフレームのサブセットを平均化する方法

Related 関連記事

  1. 1

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

  2. 2

    Rのデータフレームのリストを条件付きでサブセット化する

  3. 3

    R-複数のデータフレームから特定の行をサブセット化する方法

  4. 4

    複数の列の小文字の値でデータフレームをサブセット化する方法

  5. 5

    複数の条件を持つ別のデータフレームに基づいてデータフレームをサブセット化する

  6. 6

    2つの要素変数の日数と値を含む複数の条件でデータフレームをサブセット化する方法

  7. 7

    日付のある複数の列に複数の条件を持つパンダのデータフレームをサブセット化する

  8. 8

    複数の間隔を使用してデータフレームを複数のサブデータフレームにサブセット化する方法

  9. 9

    間の範囲の複数の日付条件を含むデータ フレームのサブセット化

  10. 10

    複数のデータフレームから共通の行をサブセット化する

  11. 11

    Rでは、複数の列の要素によってデータフレームを分割/サブセット化する方法は?

  12. 12

    多くの列の条件でデータフレームをサブセット化する

  13. 13

    Rの条件に基づいてデータフレームをサブセット化する方法

  14. 14

    ループを使用してデータフレームを他の複数のデータフレームにサブセット化する

  15. 15

    データフレームをRの「最良の正方形」にサブセット化する関数

  16. 16

    Rの列内の一意の値でデータフレームをサブセット化する

  17. 17

    粒度のレベルでデータをサブセット化し、Rの各データフレームに関数を適用する

  18. 18

    for ループで複数のデータフレームからデータをサブセット化する方法

  19. 19

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

  20. 20

    lapplyを使用し、特性と関数の両方でデータフレームをサブセット化する

  21. 21

    Rの複数のワイルドカード基準に基づいてデータフレームをサブセット化する

  22. 22

    R-データフレームのリストを条件とする大きなデータテーブルの高速サブセット化

  23. 23

    データフレームをサブセット化し、すべてのサブセットをループでプロットする [R]

  24. 24

    Rでデータフレームをサブセット化する関数を作成する

  25. 25

    Rでデータフレームをサブセット化する

  26. 26

    Rでデータフレームの複数の並列サブセットを取得するための良い方法は何ですか?

  27. 27

    複数の条件を持つデータフレームからの条件付きサブセット

  28. 28

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

  29. 29

    rのforループ内のデータフレームのサブセットを平均化する方法

ホットタグ

アーカイブ