dplyrを使用して列名に従ってデータフレームの値を変更しますか?

エルカ

私の問題は本当に簡単に見えましたが、簡単な解決策を見つけることができません。データセット内のすべてのカテゴリ変数に「欠落」している値があります。後でmyownの関数で結果を結合するには、この値を一意にする必要があるため、「missing(var_name)」で値「missing」を変更します。

私は最初に次のようなものを試しました:

data %>% mutate(across(where(is.character),
                       ~ replace(., . == "missing", paste("missing", SOMETHING(.)))))

「。」を使用するだけでステートメントSOMETHING全体の列名にアクセスするこの関数がないため、これは完全には機能しませんacrossパラメータ..。

私が試した他の解決策は

purrr:imap(data %>% select(where(is.character)),
           ~ replace(.x, .x == "missing", paste("missing", .y))))

これは私が望むものに近いですがpurrr:imap、最初の文字列ではなく、最初のデータフレームに出力を簡単かつ計算効率よく再挿入するのに問題があります。

とてもシンプルに見えるものとの戦いに疲れているので、もっとはっきりと見えるように休憩や助けが必要だと思います...

私はむしろdplyr解決策を使いたいのですが、それpurrrは大丈夫です。実際、うまく機能するものは何でも(ご存知のとおり、600列以上150,000行あります)

どんな助けやアドバイスも大歓迎です!

ありがとう

ダレンツァイ

データ例

df <- data.frame(var.X = c("a", "missing", "a"),
                 var.Y = c("b", "b", "missing"),
                 var.Z = c("missing", "missing", "c"))

#     var.X   var.Y   var.Z
# 1       a       b missing
# 2 missing       b missing
# 3       a missing       c

することでdplyr、あなたは使用することができますcur_column()の中でacross()差出人?context

cur_column()は、現在の列の名前を示します(across()のみ)。

library(dplyr)

df %>%
  mutate(across(where(is.character),
                ~ recode(.x, missing = paste0("missing(", cur_column(), ")"))))

#            var.X          var.Y          var.Z
# 1              a              b missing(var.Z)
# 2 missing(var.X)              b missing(var.Z)
# 3              a missing(var.Y)              c

または

df %>%
  mutate(across(where(is.character),
                ~ recode(.x, missing = sprintf("missing(%s)", cur_column()))))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

value_counts()に従ってパンダデータフレームの値を変更します

分類Dev

Pythonのデータに従ってデータフレームから列名を抽出します

分類Dev

提供された別の列名を使用してデータフレーム値Rを変更しますか?

分類Dev

dplyrを使用してRに2つのデータフレームを持つルールに従って行をフィルタリングしますか?

分類Dev

dplyrを使用して、フィルターしきい値に従うデータフレームからすべての行を削除します

分類Dev

dplyrの複数のデータフレームの値に従って、データフレームに列を追加します

分類Dev

dplyrを使用して、特定の行のデータフレームの値を変更します

分類Dev

dplyrによる別のデータフレームとの照合に基づいて、データフレームの列名を変更します

分類Dev

別の列の因子に従って、データフレーム内の数値変数の形状を変更します

分類Dev

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

分類Dev

Rにdplyrを使用して、最初の行をデータフレームの列名として配置します

分類Dev

キーと値のペアディクショナリを使用して、Rデータフレームの列名を選択的に変更します

分類Dev

Rの別のデータフレームからの時間範囲に従ってIDを変更しますか?

分類Dev

Rのベクトルの値に従ってデータフレームの値を抽出します

分類Dev

dplyrセレクターのみを使用して複数の列にわたって値を変更します

分類Dev

元の値に従ってデータフレーム内の各値を変更するより高速な方法

分類Dev

Pythonデータフレーム:特定の条件に従って列の値をマージします

分類Dev

Rは、dplyrを使用して列の最大値に基づいてデータフレームを変更します

分類Dev

必要な場所の値に従って、データフレームに追加の行を挿入します

分類Dev

dplyrを使用して、Rデータフレームの最後の列の最後の行から値を変更します

分類Dev

Rの別のデータフレームに従って列名を変更するにはどうすればよいですか?

分類Dev

2番目のデータフレームに従ってデータフレームを要約します

分類Dev

列の条件に従って、データフレーム間隔にNaN値を入力します

分類Dev

Rの条件に従って、データフレームの値を乗算および置換します。

分類Dev

multiIndexの値に従ってデータフレームのスライスを選択します

分類Dev

範囲に従ってデータフレームの値をマップします

分類Dev

範囲に従ってデータフレームの値をマップします

分類Dev

多くの変数に従ってPythonデータフレームを転置します

分類Dev

summary(dplyr)の結果を使用して、元のデータフレームを変更します

Related 関連記事

  1. 1

    value_counts()に従ってパンダデータフレームの値を変更します

  2. 2

    Pythonのデータに従ってデータフレームから列名を抽出します

  3. 3

    提供された別の列名を使用してデータフレーム値Rを変更しますか?

  4. 4

    dplyrを使用してRに2つのデータフレームを持つルールに従って行をフィルタリングしますか?

  5. 5

    dplyrを使用して、フィルターしきい値に従うデータフレームからすべての行を削除します

  6. 6

    dplyrの複数のデータフレームの値に従って、データフレームに列を追加します

  7. 7

    dplyrを使用して、特定の行のデータフレームの値を変更します

  8. 8

    dplyrによる別のデータフレームとの照合に基づいて、データフレームの列名を変更します

  9. 9

    別の列の因子に従って、データフレーム内の数値変数の形状を変更します

  10. 10

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

  11. 11

    Rにdplyrを使用して、最初の行をデータフレームの列名として配置します

  12. 12

    キーと値のペアディクショナリを使用して、Rデータフレームの列名を選択的に変更します

  13. 13

    Rの別のデータフレームからの時間範囲に従ってIDを変更しますか?

  14. 14

    Rのベクトルの値に従ってデータフレームの値を抽出します

  15. 15

    dplyrセレクターのみを使用して複数の列にわたって値を変更します

  16. 16

    元の値に従ってデータフレーム内の各値を変更するより高速な方法

  17. 17

    Pythonデータフレーム:特定の条件に従って列の値をマージします

  18. 18

    Rは、dplyrを使用して列の最大値に基づいてデータフレームを変更します

  19. 19

    必要な場所の値に従って、データフレームに追加の行を挿入します

  20. 20

    dplyrを使用して、Rデータフレームの最後の列の最後の行から値を変更します

  21. 21

    Rの別のデータフレームに従って列名を変更するにはどうすればよいですか?

  22. 22

    2番目のデータフレームに従ってデータフレームを要約します

  23. 23

    列の条件に従って、データフレーム間隔にNaN値を入力します

  24. 24

    Rの条件に従って、データフレームの値を乗算および置換します。

  25. 25

    multiIndexの値に従ってデータフレームのスライスを選択します

  26. 26

    範囲に従ってデータフレームの値をマップします

  27. 27

    範囲に従ってデータフレームの値をマップします

  28. 28

    多くの変数に従ってPythonデータフレームを転置します

  29. 29

    summary(dplyr)の結果を使用して、元のデータフレームを変更します

ホットタグ

アーカイブ