私は2つの変数、日付とチームとのデータテーブルを持っている:Rプログラミング - 日付と文字のインスタンスに番号を付けるインデックスを割り当てる変数
Date <- c("2016-11-20", "2016-11-20", "2016-11-20", "2016-11-21", "2016-11-21", "2016-11-21", "2016-11-22", "2016-11-22", "2016-11-22", "2016-11-22")
Team <- c("NYK", "CLE", "DET", "DET", "ATL", "BRK", "CLE", "DET", "NYK", "TOR")
DT <- data.table(Date, Team)
DT$Date <- as.Date(Date)
データテーブルのように見える終わる:
Date Team
1: 2016-11-20 NYK
2: 2016-11-20 CLE
3: 2016-11-20 DET
4: 2016-11-21 DET
5: 2016-11-21 ATL
6: 2016-11-21 BRK
7: 2016-11-22 CLE
8: 2016-11-22 DET
9: 2016-11-22 NYK
10: 2016-11-22 TOR
私がやっていることは、チームが何回表示されたかについてのインデックス列を追加することです。それは次のようになります。
Date Team gamenum
1: 2016-11-20 NYK 1
2: 2016-11-20 CLE 1
3: 2016-11-20 DET 1
4: 2016-11-21 DET 2
5: 2016-11-21 ATL 1
6: 2016-11-21 BRK 1
7: 2016-11-22 CLE 2
8: 2016-11-22 DET 3
9: 2016-11-22 NYK 2
10: 2016-11-22 TOR 1
私はコードを私は他の記事で見つけたもののように見えるだろうと思った:
NewDT <- DT[, ':='(Date = .N, gamenum = 1:.N), by = Team]
が、それは私にエラー与える:
Error in `[.data.table`(DT, , `:=`(Date = .N, gamenum = 1:.N), by = Team) :
Type of RHS ('integer') must match LHS ('double'). To check and coerce would impact performance too much for the fastest cases. Either change the type of the target column, or coerce the RHS of := yourself (e.g. by using 1L instead of 1)
私はクラスが一致しないことを意味しますが、追加の不要なデータを追加することなくこの作業を行う方法を理解することはできません。前もって感謝します。