個別のデータフレームの値を使用して列の名前を変更する

stlba:

スペースと特殊文字を含む列名が含まれるティブルを使用すると、操作が面倒になります。データを操作しているときに、これらの列名をより使いやすい名前に変更し、表示のために最後に元の名前に戻します。理想的には、これをパイプの一部として実行できるようにしたいのですが、でそれを実行する方法がわかりませんrename_with()

サンプルデータ:

df <- tibble(oldname1 = seq(1:10),
             oldname2 = letters[seq(1:10)],
             oldname3 = LETTERS[seq(1:10)])


cols_lookup <- tibble(old_names = c("oldname4", "oldname2", "oldname1"), 
                      new_names = c("newname4", "newname2", "newname1"))

望ましい出力:

> head(df_renamed)
# A tibble: 6 x 3
  newname1 newname2 oldname3
     <int> <chr>    <chr>   
1        1 a        A       
2        2 b        B       
3        3 c        C       
4        4 d        D       
5        5 e        E       
6        6 f        F 

一部の列は削除され、この作業中に並べ替えられます。そのため、それらを元に戻すと、cols_lookupテーブルには存在しなくなったエントリが存在しdfます。df同じ名前を付けておきたい新しい列も作成されてます

私はすでに尋ねられている同様の質問があることを知っていますが、答えは、ティブルまたはパイプ(たとえばmatch()を使用するもの)ではうまく機能しないか、列がすべてに存在しない場合は機能しません両方のテーブルで同じ順序。

akrun:

使用できますrename_atマスタールックアップテーブルから、データセットのが一致filterする行namesfiltered_lookup)、次にrename_at「old_names」を指定し、「new_names」でvars置き換える場所でそれを使用します

library(dplyr)
filtered_lookup <- cols_lookup %>% 
     filter(old_names %in% names(df)) 
df %>% 
  rename_at(vars(filtered_lookup$old_names), ~ filtered_lookup$new_names)

またはをrename_with使用して、同じロジックを使用します

df %>%
  rename_with(.fn = ~filtered_lookup$new_names, .cols = filtered_lookup$old_names)

または別のオプションは、名前付きベクトルからのrenameスプライシング(!!!)を使用することです

library(tibble)
df %>% 
     rename(!!! deframe(filtered_lookup[2:1]))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

別の特定の列を使用してデータフレームの列の名前を変更する

分類Dev

別のデータを使用して列の値の名前を変更する

分類Dev

別のデータフレームからの一致を使用して、データフレームのリストの列の名前を変更する

分類Dev

正規表現を使用してパンダデータフレームの列の名前を変更する

分類Dev

pandasデータフレームでreplaceとstr.startswith()を使用して値の名前を変更する

分類Dev

Rのグローバル環境の値を使用して、データフレームの列の名前を変更する

分類Dev

正規表現と辞書を使用してデータフレーム列の名前を変更する

分類Dev

Pandasデータフレームリストの列の名前を別の名前に変更する方法

分類Dev

別のデータフレームの名前で列の名前を変更する

分類Dev

lapplyを使用して、列の値に基づいてリスト内のデータフレームの名前を変更する方法

分類Dev

Scalaを使用して、別のデータフレームに対してデータフレームの列名の名前を変更します

分類Dev

別のデータフレームで新しい名前を検索して列名を変更する

分類Dev

purrrを使用して複数のデータフレーム列の名前を変更します

分類Dev

条件を使用して列を個別のデータフレームに変更します

分類Dev

yamlファイルを使用してPandasデータフレーム列の名前を変更します

分類Dev

pandasデータフレームの列の名前を変更する関数を作成しています

分類Dev

個別のデータフレームでExcelブックの各シートを読み取り、列の名前の前にシート名を付けることで列の名前を変更します

分類Dev

データフレーム名の後に列の名前を変更する

分類Dev

Rの個別のデータとしてデータフレームから名前を抽出する

分類Dev

Pandasデータフレームの列の名前を変更し、タイプを変更する

分類Dev

ディクショナリからの値を使用して、Pandasデータフレームの列の名前を変更します

分類Dev

データフレームの特定の列の名前を変更する

分類Dev

中央に数字が含まれているデータフレームの列の名前を変更します

分類Dev

前の列と比較してデータフレーム列の値を変更するR

分類Dev

データフレーム内の観測値の名前を変更する

分類Dev

dplyrパイプを使用して、指定した行の後にデータフレーム内のすべての列の名前を変更する方法

分類Dev

Rの変数名として別のデータフレームの値を使用してデータフレームを変更する

分類Dev

パンダのデータフレーム列を削除して名前を変更する方法

分類Dev

データフレームのタイトル/名前を使用して、列名を変更する

Related 関連記事

  1. 1

    別の特定の列を使用してデータフレームの列の名前を変更する

  2. 2

    別のデータを使用して列の値の名前を変更する

  3. 3

    別のデータフレームからの一致を使用して、データフレームのリストの列の名前を変更する

  4. 4

    正規表現を使用してパンダデータフレームの列の名前を変更する

  5. 5

    pandasデータフレームでreplaceとstr.startswith()を使用して値の名前を変更する

  6. 6

    Rのグローバル環境の値を使用して、データフレームの列の名前を変更する

  7. 7

    正規表現と辞書を使用してデータフレーム列の名前を変更する

  8. 8

    Pandasデータフレームリストの列の名前を別の名前に変更する方法

  9. 9

    別のデータフレームの名前で列の名前を変更する

  10. 10

    lapplyを使用して、列の値に基づいてリスト内のデータフレームの名前を変更する方法

  11. 11

    Scalaを使用して、別のデータフレームに対してデータフレームの列名の名前を変更します

  12. 12

    別のデータフレームで新しい名前を検索して列名を変更する

  13. 13

    purrrを使用して複数のデータフレーム列の名前を変更します

  14. 14

    条件を使用して列を個別のデータフレームに変更します

  15. 15

    yamlファイルを使用してPandasデータフレーム列の名前を変更します

  16. 16

    pandasデータフレームの列の名前を変更する関数を作成しています

  17. 17

    個別のデータフレームでExcelブックの各シートを読み取り、列の名前の前にシート名を付けることで列の名前を変更します

  18. 18

    データフレーム名の後に列の名前を変更する

  19. 19

    Rの個別のデータとしてデータフレームから名前を抽出する

  20. 20

    Pandasデータフレームの列の名前を変更し、タイプを変更する

  21. 21

    ディクショナリからの値を使用して、Pandasデータフレームの列の名前を変更します

  22. 22

    データフレームの特定の列の名前を変更する

  23. 23

    中央に数字が含まれているデータフレームの列の名前を変更します

  24. 24

    前の列と比較してデータフレーム列の値を変更するR

  25. 25

    データフレーム内の観測値の名前を変更する

  26. 26

    dplyrパイプを使用して、指定した行の後にデータフレーム内のすべての列の名前を変更する方法

  27. 27

    Rの変数名として別のデータフレームの値を使用してデータフレームを変更する

  28. 28

    パンダのデータフレーム列を削除して名前を変更する方法

  29. 29

    データフレームのタイトル/名前を使用して、列名を変更する

ホットタグ

アーカイブ