2つの列に基づいて一意のIDを割り当てます

iPlexpen

次のようなデータフレーム(df)があります。

School Student  Year  
A         10    1999
A         10    2000
A         20    1999
A         20    2000
A         20    2001
B         10    1999
B         10    2000

そしてID、dfが次のようになるようにpersonを作成したいと思います

ID School Student  Year  
1   A         10    1999
1   A         10    2000
2   A         20    1999
2   A         20    2000
2   A         20    2001
3   B         10    1999
3   B         10    2000

つまり、ID変数はデータセット内の人物を示し、学生数と学校のメンバーシップの両方を考慮します(ここでは合計3人の学生がいます)。

私がやったdf$ID <- df$Studentとすると値+1を要求しようとしたc("School", "Student)ユニークでした。動作していません。感謝します。

akrun

これはbase R、groupby操作を行わなくても実行できます。

df$ID <- cumsum(!duplicated(df[1:2]))
df
#   School Student Year ID
#1      A      10 1999  1
#2      A      10 2000  1
#3      A      20 1999  2
#4      A      20 2000  2
#5      A      20 2001  2
#6      B      10 1999  3
#7      B      10 2000  3

注:「School」と「Student」が注文されていると仮定します


またはを使用して tidyverse

library(dplyr)
df %>% 
    mutate(ID = group_indices_(df, .dots=c("School", "Student"))) 
#  School Student Year ID
#1      A      10 1999  1
#2      A      10 2000  1
#3      A      20 1999  2
#4      A      20 2000  2
#5      A      20 2001  2
#6      B      10 1999  3
#7      B      10 2000  3

@radekが述べたように、最近のバージョン(dplyr_0.8.0)では、group_indices_非推奨の通知を受け取ります。代わりに、group_indices

df %>% 
   mutate(ID = group_indices(., School, Student))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

2つの列のいずれかの値に基づいて一意のIDを割り当てます

分類Dev

2つの列間の関係に基づいて一意のIDを作成します

分類Dev

R:増分列に基づいて、データフレームに一意のIDを割り当てます

分類Dev

2つの列に基づいて一意の行を選択する

分類Dev

列の値に基づいて一意のIDを保持しますか?

分類Dev

Rの残りの一意に基づいて1つの列を集計します

分類Dev

グループごとに、2つの列に基づいて一意の行の数を数えます

分類Dev

一意の列値に基づいて列を作成し、塗りつぶします

分類Dev

sqlは、2つの列の特定の値に基づいて一意のIDを持つ列を追加します

分類Dev

2つの列に基づいて一意の値の発生をカウントします

分類Dev

SQL-2つの列に基づいて最新の一意を選択します

分類Dev

他の列の値の一意の組み合わせに基づいて新しい列を割り当てます

分類Dev

Rの行間の時間差に基づいて、各グループに一意のIDを割り当てます

分類Dev

Pigの1つの列の一意の値ごとの数に基づいて列を作成します

分類Dev

Rの2つの列に基づいて特定の値を割り当てます

分類Dev

一意のIDに基づいて行を結合する

分類Dev

Rは、1つの列の値に基づいて、列全体の一意の値を要約します

分類Dev

カウントに基づいてテーブルの行を複製し、一意のIDを割り当てます

分類Dev

dplyr:グループ変数は、一意のグループ化に基づいて一意の名前を割り当てます

分類Dev

2つの一意のIDに基づいてc#でn個のリストをマージする

分類Dev

列の一意の値に基づいてドロップダウンリストを作成し、選択した値を変数に割り当てます

分類Dev

2つの列のいずれかの重複値に基づいて一意のIDを生成するにはどうすればよいですか?

分類Dev

特定の行に基づいて一意の文字列を解析します

分類Dev

他の2つの列の一意の値に基づいて列の値を保持しようとしています

分類Dev

要素の一意性と他の1つの条件に基づいてnp配列行を削除します

分類Dev

2つの基準条件に基づいて、一意のIDごとに異なる値の複数のCOUNTフィールドを返します

分類Dev

文字列を分割し、PandasDataFrameに一意のIDを割り当てます

分類Dev

2つの一意の列値に基づいてクラスターを作成する関数pandas

分類Dev

ApacheFlink-入力に一意のIDを割り当てます

Related 関連記事

  1. 1

    2つの列のいずれかの値に基づいて一意のIDを割り当てます

  2. 2

    2つの列間の関係に基づいて一意のIDを作成します

  3. 3

    R:増分列に基づいて、データフレームに一意のIDを割り当てます

  4. 4

    2つの列に基づいて一意の行を選択する

  5. 5

    列の値に基づいて一意のIDを保持しますか?

  6. 6

    Rの残りの一意に基づいて1つの列を集計します

  7. 7

    グループごとに、2つの列に基づいて一意の行の数を数えます

  8. 8

    一意の列値に基づいて列を作成し、塗りつぶします

  9. 9

    sqlは、2つの列の特定の値に基づいて一意のIDを持つ列を追加します

  10. 10

    2つの列に基づいて一意の値の発生をカウントします

  11. 11

    SQL-2つの列に基づいて最新の一意を選択します

  12. 12

    他の列の値の一意の組み合わせに基づいて新しい列を割り当てます

  13. 13

    Rの行間の時間差に基づいて、各グループに一意のIDを割り当てます

  14. 14

    Pigの1つの列の一意の値ごとの数に基づいて列を作成します

  15. 15

    Rの2つの列に基づいて特定の値を割り当てます

  16. 16

    一意のIDに基づいて行を結合する

  17. 17

    Rは、1つの列の値に基づいて、列全体の一意の値を要約します

  18. 18

    カウントに基づいてテーブルの行を複製し、一意のIDを割り当てます

  19. 19

    dplyr:グループ変数は、一意のグループ化に基づいて一意の名前を割り当てます

  20. 20

    2つの一意のIDに基づいてc#でn個のリストをマージする

  21. 21

    列の一意の値に基づいてドロップダウンリストを作成し、選択した値を変数に割り当てます

  22. 22

    2つの列のいずれかの重複値に基づいて一意のIDを生成するにはどうすればよいですか?

  23. 23

    特定の行に基づいて一意の文字列を解析します

  24. 24

    他の2つの列の一意の値に基づいて列の値を保持しようとしています

  25. 25

    要素の一意性と他の1つの条件に基づいてnp配列行を削除します

  26. 26

    2つの基準条件に基づいて、一意のIDごとに異なる値の複数のCOUNTフィールドを返します

  27. 27

    文字列を分割し、PandasDataFrameに一意のIDを割り当てます

  28. 28

    2つの一意の列値に基づいてクラスターを作成する関数pandas

  29. 29

    ApacheFlink-入力に一意のIDを割り当てます

ホットタグ

アーカイブ