rパターンのある列名のデータセットをワイドからロングに変換します

Science11

以下のようなデータセットを想定しましょう。

 ID   Gender  ColA_1  ColB_1 ColC_1__1 ColC_1__2 ColA_2  ColB_2 ColC_2__1 ColC_2__2 
 1    Male    No      Yes    Yes       No        No      Yes    No        No
 2    Female  Yes     No     Yes       No        No      Yes    Yes       No

私がしたいのは、このデータセットを以下のように変換することです

 ID Index  Gender  ColA  ColB   ColC_1 ColC_2  
 1  1      Male    No    Yes    Yes       No        
 1  2      Male    No    Yes    No        No
 2  1    Female    Yes   No     Yes       No        
 2  2    Female    No    Yes    Yes       No  

これを行う方法がわからない、助けが必要です。前もって感謝します。

akrun

これがオプションです pivot_longer

library(dplyr)
library(tidyr)
library(stringr)
df1 %>% 
     rename_at(vars(starts_with('ColC')), ~ str_replace(., "_(\\d+)__(\\d+)",
              "\\2_\\1")) %>%
     pivot_longer(cols = 3:ncol(.),  names_to = c(".value", "Index"), 
                 names_sep="_")
# A tibble: 4 x 7
#     ID Gender Index ColA  ColB  ColC1 ColC2
#  <int> <chr>  <chr> <chr> <chr> <chr> <chr>
#1     1 Male   1     No    Yes   Yes   No   
#2     1 Male   2     No    Yes   No    No   
#3     2 Female 1     Yes   No    Yes   No   
#4     2 Female 2     No    Yes   Yes   No   

データ

df1 <- structure(list(ID = 1:2, Gender = c("Male", "Female"), ColA_1 = c("No", 
"Yes"), ColB_1 = c("Yes", "No"), ColC_1__1 = c("Yes", "Yes"), 
    ColC_1__2 = c("No", "No"), ColA_2 = c("No", "No"), ColB_2 = c("Yes", 
    "Yes"), ColC_2__1 = c("No", "Yes"), ColC_2__2 = c("No", "No"
    )), class = "data.frame", row.names = c(NA, -2L))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

列名を分割し、Rでデータをワイド形式からロング形式に変換します

分類Dev

パンダのデータフレームをワイドからロングに変換します

分類Dev

カウントのあるワイドデータフレームをRのロングフォーマットに変換します

分類Dev

Rでデータセットをワイドからロングに変換するための簡単なコードを作成する

分類Dev

列名に複数のキーがあるデータフレームの形状をワイドからロングに変更します

分類Dev

列名を分割して名前の一部を削除し、Rでデータをワイド形式からロング形式に変換する方法

分類Dev

ロングフォーマットデータフレームで列名なしのメルトを使用してワイドフォーマットからロングフォーマットに変換する

分類Dev

ワイドデータセットを複数列のロングフォーマットに変換する

分類Dev

ワイドからロングに変換した後、パンダの特定のインデックス/キーに対応する値を取得します

分類Dev

Melt()を使用して、値のルックアップを必要とするワイドデータ形式からロングデータ形式に変換する

分類Dev

Rの重複する識別子を使用してデータフレームをロングからワイドに変換する

分類Dev

パンダを使用したワイドからロングのデータセット

分類Dev

データセットを「ワイドからロング」形式に変換/再形成し、時系列分析のために時間列を時間形式に変換します

分類Dev

データフレームをワイドからロングに変換する-パンダ

分類Dev

インデックスを維持しながら、パンダのデータフレームをワイドからロングに変換するにはどうすればよいですか?

分類Dev

パンダのデータセットから列名を変更する

分類Dev

パンダでのワイドからロングへのデータ変換

分類Dev

データをワイドからロングに変換する(複数の列を使用)

分類Dev

行Rに格納されているキーを使用して、データフレームをワイド形式からロング形式に変換します

分類Dev

パンダでワイド日付データをロングフォーマットに変換する方法

分類Dev

Pythonパンダは、2つのデータセットの2つの列を、列名とデータ型を保持する1つに変換します

分類Dev

R パターンを持つ複数の変数のワイドからロング フォーマット

分類Dev

R:ギャザーとスプレッドを使用して、時系列データセットをワイドからロングに転置します

分類Dev

2つの変数を使用してデータフレームをワイドからロングに変換します

分類Dev

ワイドからロングへのデータ変換

分類Dev

値の順序を保持しながら、データフレームをロングからワイドに変換します(dtype datetime)

分類Dev

statsmodelsのRからデータセットをダウンロードする方法はありますか?

分類Dev

列がすべての時点を表していない場合に、データセットをワイドからロングに再形成する

分類Dev

SASでワイドデータセットをロングデータセットに変更する

Related 関連記事

  1. 1

    列名を分割し、Rでデータをワイド形式からロング形式に変換します

  2. 2

    パンダのデータフレームをワイドからロングに変換します

  3. 3

    カウントのあるワイドデータフレームをRのロングフォーマットに変換します

  4. 4

    Rでデータセットをワイドからロングに変換するための簡単なコードを作成する

  5. 5

    列名に複数のキーがあるデータフレームの形状をワイドからロングに変更します

  6. 6

    列名を分割して名前の一部を削除し、Rでデータをワイド形式からロング形式に変換する方法

  7. 7

    ロングフォーマットデータフレームで列名なしのメルトを使用してワイドフォーマットからロングフォーマットに変換する

  8. 8

    ワイドデータセットを複数列のロングフォーマットに変換する

  9. 9

    ワイドからロングに変換した後、パンダの特定のインデックス/キーに対応する値を取得します

  10. 10

    Melt()を使用して、値のルックアップを必要とするワイドデータ形式からロングデータ形式に変換する

  11. 11

    Rの重複する識別子を使用してデータフレームをロングからワイドに変換する

  12. 12

    パンダを使用したワイドからロングのデータセット

  13. 13

    データセットを「ワイドからロング」形式に変換/再形成し、時系列分析のために時間列を時間形式に変換します

  14. 14

    データフレームをワイドからロングに変換する-パンダ

  15. 15

    インデックスを維持しながら、パンダのデータフレームをワイドからロングに変換するにはどうすればよいですか?

  16. 16

    パンダのデータセットから列名を変更する

  17. 17

    パンダでのワイドからロングへのデータ変換

  18. 18

    データをワイドからロングに変換する(複数の列を使用)

  19. 19

    行Rに格納されているキーを使用して、データフレームをワイド形式からロング形式に変換します

  20. 20

    パンダでワイド日付データをロングフォーマットに変換する方法

  21. 21

    Pythonパンダは、2つのデータセットの2つの列を、列名とデータ型を保持する1つに変換します

  22. 22

    R パターンを持つ複数の変数のワイドからロング フォーマット

  23. 23

    R:ギャザーとスプレッドを使用して、時系列データセットをワイドからロングに転置します

  24. 24

    2つの変数を使用してデータフレームをワイドからロングに変換します

  25. 25

    ワイドからロングへのデータ変換

  26. 26

    値の順序を保持しながら、データフレームをロングからワイドに変換します(dtype datetime)

  27. 27

    statsmodelsのRからデータセットをダウンロードする方法はありますか?

  28. 28

    列がすべての時点を表していない場合に、データセットをワイドからロングに再形成する

  29. 29

    SASでワイドデータセットをロングデータセットに変更する

ホットタグ

アーカイブ