カスタム値の列をデータフレームに追加します

青空

dataframe対応する行の値内の値に応じて新しい列を追加する既存のRに新しい列を追加しようとしています。値が1新しい場合、値にはoneが含まれる必要があります。値が2新しい場合、値にはtwoが含まれる必要があります。それ以外の場合。three or more

このコード:

mydf <- data.frame(a = 1:6, 
                   b = rep("reproducible", 6),
                   c = rep("example", 6), 
                   stringsAsFactors = FALSE)
mydf

レンダリング:

ここに画像の説明を入力してください

コードの使用:

    mydf["encoded"] <- { if (mydf['a'] == 1) 'one' else if (mydf['a'] == 2) 'two' else 'three or more' }
mydf

レンダリング:

ここに画像の説明を入力してください

警告も生成されます:

Warning message in if (mydf["a"] == 1) "one" else if (mydf["a"] == 2) "two" else "three or more":
“the condition has length > 1 and only the first element will be used”

新しい列がに追加されdataframeますが、すべての値は同じです:one

新しい列の値を正しく追加するロジックを実装していませんか?

PoGibas

使用するソリューションdplyr::case_when

構文とロジックは自明である:場合aと同じである1- encoded「1」に等しいです。場合aと同じである2- encoded「2」に等しいです。他のすべての場合-エンコードは「3つ以上」に等しい。
そしてmutate、新しい列を作成するだけです。

library(dplyr)
mutate(mydf, encoded = case_when(a == 1 ~ "one",
                                 a == 2 ~ "two",
                                 TRUE ~ "three or more"))

  a            b       c       encoded
1 1 reproducible example           one
2 2 reproducible example           two
3 3 reproducible example three or more
4 4 reproducible example three or more
5 5 reproducible example three or more
6 6 reproducible example three or more

使用するソリューションbase::ifelse

mydf$encoded <- ifelse(mydf$a == 1, 
                       "one", 
                       ifelse(mydf$a == 2, 
                              "two",
                              "three or more"))

あなたがmydf$a複数回書くのが好きでないならば、あなたは使うことができますwith

mydf$encoded <- with(mydf, ifelse(a == 1, 
                                  "one", 
                                  ifelse(a == 2, 
                                         "two",
                                         "three or more")))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

既存の列のカテゴリ値に基づいてデータフレームに列を追加します

分類Dev

データフレームのリストとしてデータフレームに列を追加します

分類Dev

pandasデータフレームに2列の最小値を追加します

分類Dev

カテゴリ固有の列と値をデータフレームに追加します

分類Dev

pandasデータフレームは、リスト要素を持つ別のpandas列に列値を追加します

分類Dev

Rの既存のデータフレーム列にデータフレームの列を追加しますか?

分類Dev

値に基づいてパンダのデータフレームを繰り返し、データフレームにカウンターを追加します

分類Dev

Laravelのデフォルト通知テーブルの「type」列にカスタム値を追加します

分類Dev

Pyspark-データフレーム列の値を関数にフィードし、関数の出力を元のデータフレームに追加します

分類Dev

値をカウントし、新しいデータフレーム列に参照を追加します

分類Dev

データフレームPythonのタイムステップで最初に1つの値を追加します

分類Dev

他の列の値を比較した後、新しい列をデータフレームに追加します

分類Dev

pythonpandasはデフォルト値としてデータフレーム列にリストを追加します

分類Dev

Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

分類Dev

R-別のデータフレームの一致する値を使用して、データフレームに新しい列を追加します

分類Dev

他の列から値を追加して、Pandaデータフレームに新しい列を作成します

分類Dev

pysparkデータフレームに別の列の最大値を持つ新しい列を追加します

分類Dev

別の列に依存する値を持つ列をデータフレームに追加します

分類Dev

データフレーム内のリストからデフォルト値の列を追加します

分類Dev

別のデータフレームの文字列一致からの平均値の列をパンダデータフレームに追加します

分類Dev

数値データフレームに文字列を追加し、2つの文字列データフレームを連結します

分類Dev

パンダは、列の値をマージしない別のデータフレームにデータフレームを追加します

分類Dev

WooCommerceカスタムAjaxのカートアイテムに複数のカスタムデータ配列を追加しますカートに追加します

分類Dev

温度値に応じて増加するカウンター列をデータフレームに追加します(他の列)

分類Dev

ランダムな値の列をpysparkデータフレームに追加します

分類Dev

パンダのデータフレームの別の列の値に基づいて列を追加します

分類Dev

繰り返し値の列をデータフレームに追加する

分類Dev

列の文字列値を使用してデータフレームに行を追加します

分類Dev

他の列の値に基づいてデータフレームに列を追加します

Related 関連記事

  1. 1

    既存の列のカテゴリ値に基づいてデータフレームに列を追加します

  2. 2

    データフレームのリストとしてデータフレームに列を追加します

  3. 3

    pandasデータフレームに2列の最小値を追加します

  4. 4

    カテゴリ固有の列と値をデータフレームに追加します

  5. 5

    pandasデータフレームは、リスト要素を持つ別のpandas列に列値を追加します

  6. 6

    Rの既存のデータフレーム列にデータフレームの列を追加しますか?

  7. 7

    値に基づいてパンダのデータフレームを繰り返し、データフレームにカウンターを追加します

  8. 8

    Laravelのデフォルト通知テーブルの「type」列にカスタム値を追加します

  9. 9

    Pyspark-データフレーム列の値を関数にフィードし、関数の出力を元のデータフレームに追加します

  10. 10

    値をカウントし、新しいデータフレーム列に参照を追加します

  11. 11

    データフレームPythonのタイムステップで最初に1つの値を追加します

  12. 12

    他の列の値を比較した後、新しい列をデータフレームに追加します

  13. 13

    pythonpandasはデフォルト値としてデータフレーム列にリストを追加します

  14. 14

    Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

  15. 15

    R-別のデータフレームの一致する値を使用して、データフレームに新しい列を追加します

  16. 16

    他の列から値を追加して、Pandaデータフレームに新しい列を作成します

  17. 17

    pysparkデータフレームに別の列の最大値を持つ新しい列を追加します

  18. 18

    別の列に依存する値を持つ列をデータフレームに追加します

  19. 19

    データフレーム内のリストからデフォルト値の列を追加します

  20. 20

    別のデータフレームの文字列一致からの平均値の列をパンダデータフレームに追加します

  21. 21

    数値データフレームに文字列を追加し、2つの文字列データフレームを連結します

  22. 22

    パンダは、列の値をマージしない別のデータフレームにデータフレームを追加します

  23. 23

    WooCommerceカスタムAjaxのカートアイテムに複数のカスタムデータ配列を追加しますカートに追加します

  24. 24

    温度値に応じて増加するカウンター列をデータフレームに追加します(他の列)

  25. 25

    ランダムな値の列をpysparkデータフレームに追加します

  26. 26

    パンダのデータフレームの別の列の値に基づいて列を追加します

  27. 27

    繰り返し値の列をデータフレームに追加する

  28. 28

    列の文字列値を使用してデータフレームに行を追加します

  29. 29

    他の列の値に基づいてデータフレームに列を追加します

ホットタグ

アーカイブ