他の列を条件としてデータフレーム列に定数を追加する

ブロティ

別の列の特定の条件に一致する新しい列の行に定数を追加したいと思います。

私のシミュレーションデータ:

df <- structure(list(var1 = c("a", "b", "c", "a", "a", "a", "a", "d"), 
                 var2 = c("b", "b", "a", "b", "b", "c", "a", "c"), 
                 var2 = c("c", "c", "c", "c", "d", "c", "c", "a")), 
            .Names = c("var1", "var2", "var3"), 
            row.names = c(NA, 8L), 
            class = "data.frame")

これは次のようになります:

> df
  var1 var2 var3
1    a    b    c
2    b    b    c
3    c    a    c
4    a    b    c
5    a    b    d
6    a    c    c
7    a    a    c
8    d    c    a

今、私は追加したいnewvar場合は1の値によって増加するvar1等号をa、場合により1さらにそれを増やしvar2等号bとあれば1で、さらにそれを高めるvar3等号cつまり、私のデータは次のようになります。

> df
  var1 var2 var3 newvar
1    a    b    c      3
2    b    b    c      2
3    c    a    c      1
4    a    b    c      3
5    a    b    d      2
6    a    c    c      2
7    a    a    c      2
8    d    c    a      0

私は以下を試しましたが、値を1に置き換えるだけで、1ずつ増やすことはありません。

df$newvar[df$var1 == "a"] <- +1
df$newvar[df$var1 == "b"] <- +1
df$newvar[df$var1 == "c"] <- +1
ロナックシャー

を使用rowwiseしてdplyr、各行で満たされる条件の数を数えることができます

library(dplyr)
df %>%
  rowwise() %>%
  mutate(new_var = sum(c(var1 == "a", var2 == "b" , var3 == "c")))

#  var1  var2  var3  new_var
#  <chr> <chr> <chr>   <int>
#1 a     b     c           3
#2 b     b     c           2
#3 c     a     c           1
#4 a     b     c           3
#5 a     b     d           2
#6 a     c     c           2
#7 a     a     c           2
#8 d     c     a           0

またはベースRメソッド

df$new_var <- Reduce("+", list(df$var1 == "a", df$var2 == "b", df$var3 == "c"))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

定数配列を列としてデータフレームに追加するのと同等のpyspark

分類Dev

他の列を条件としてデータフレームに列を作成する

分類Dev

ダミーを条件として、行ごとに列の合計をデータフレームに追加する

分類Dev

複数の文字列を条件としてデータフレームに列を追加する

分類Dev

定数値でデータフレームに列を追加する

分類Dev

Sparkデータフレームに定数値列を追加する

分類Dev

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

分類Dev

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

分類Dev

他の列の値に応じて、データフレームに新しい列を追加する

分類Dev

他の列に基づいてpysparkデータフレームに新しい列を追加する

分類Dev

データフレーム内の他の複数の列の値を使用して、データフレームに新しい列を追加する-spark / scala

分類Dev

dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

分類Dev

別のデータフレームを条件としてデータフレームに値を追加する

分類Dev

定数値の列をパンダデータフレームに追加する

分類Dev

Sparkデータフレームの列に定数値を追加する

分類Dev

リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

分類Dev

他の行を参照してPandasデータフレームに列情報を追加する方法

分類Dev

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

分類Dev

3つの既存の列の条件を使用して、pandasデータフレームに列を追加します

分類Dev

別のデータフレームの列とPythonの定数を使用してデータフレームを追加します

分類Dev

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

分類Dev

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

分類Dev

他の列スパークの値に基づいてデータフレームに列を追加する方法

分類Dev

他の列の条件に基づいた別の列の平均である列をパンダデータフレームに追加します

分類Dev

pandasデータフレーム内の他の列の条件と値に基づいて新しい列を作成する

分類Dev

他の列の条件に基づいてパンダのデータフレーム列を操作する方法

分類Dev

他の列を条件としてデータフレームの列に3番目の列の値を入力します

分類Dev

他の列の条件と値に基づいて出力を生成するデータフレームをループします

分類Dev

条件に基づいてデータフレームに列を追加します

Related 関連記事

  1. 1

    定数配列を列としてデータフレームに追加するのと同等のpyspark

  2. 2

    他の列を条件としてデータフレームに列を作成する

  3. 3

    ダミーを条件として、行ごとに列の合計をデータフレームに追加する

  4. 4

    複数の文字列を条件としてデータフレームに列を追加する

  5. 5

    定数値でデータフレームに列を追加する

  6. 6

    Sparkデータフレームに定数値列を追加する

  7. 7

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

  8. 8

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

  9. 9

    他の列の値に応じて、データフレームに新しい列を追加する

  10. 10

    他の列に基づいてpysparkデータフレームに新しい列を追加する

  11. 11

    データフレーム内の他の複数の列の値を使用して、データフレームに新しい列を追加する-spark / scala

  12. 12

    dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

  13. 13

    別のデータフレームを条件としてデータフレームに値を追加する

  14. 14

    定数値の列をパンダデータフレームに追加する

  15. 15

    Sparkデータフレームの列に定数値を追加する

  16. 16

    リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

  17. 17

    他の行を参照してPandasデータフレームに列情報を追加する方法

  18. 18

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

  19. 19

    3つの既存の列の条件を使用して、pandasデータフレームに列を追加します

  20. 20

    別のデータフレームの列とPythonの定数を使用してデータフレームを追加します

  21. 21

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

  22. 22

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

  23. 23

    他の列スパークの値に基づいてデータフレームに列を追加する方法

  24. 24

    他の列の条件に基づいた別の列の平均である列をパンダデータフレームに追加します

  25. 25

    pandasデータフレーム内の他の列の条件と値に基づいて新しい列を作成する

  26. 26

    他の列の条件に基づいてパンダのデータフレーム列を操作する方法

  27. 27

    他の列を条件としてデータフレームの列に3番目の列の値を入力します

  28. 28

    他の列の条件と値に基づいて出力を生成するデータフレームをループします

  29. 29

    条件に基づいてデータフレームに列を追加します

ホットタグ

アーカイブ