私は以前にこの質問をしましたが、それが役立つかもしれない場合に、なぜ私が効果を見たのかを示す例を投稿するかもしれないと思いました:
require(data.table)
x <- data.table(a=1:10)
x[,a:=scale(a)]
# [,1]
# 1: -1.4863011
# 2: -1.1560120
# 3: -0.8257228
# 4: -0.4954337
# 5: -0.1651446
# 6: 0.1651446
# 7: 0.4954337
# 8: 0.8257228
# 9: 1.1560120
#10: 1.4863011
na.omit(x)
Error in `[.data.table`(object, !omit) :
i is invalid type (matrix). Perhaps in future a 2 column matrix could return a list of elements of DT (in the spirit of A[B] in FAQ 2.14). Please let datatable-help know if you'd like this, or add your comments to FR #1611.
その理由は、aをscale
返さず、文句を言わなかったためと思われます。代わりに実行すると、問題が解決するようです。ドキュメントで何かを見逃したことがありますか?vector
data.table
x[,a:=as.vector(scale(a))]