data.table
の列をどのように並べ替えるのですか? 私はdata.frame
のためにそれを行うことができますが、data.table
はメソッドをオーバーライドします。これはないHow does one reorder columns in R?ためのだまされやすい人であることをdata.table列の順序を変更するにはどうすればよいですか?
> df <- data.frame(a=1:3,b=4:6)
> df
a b
1 1 4
2 2 5
3 3 6
> df[c("b","a")]
b a
1 4 1
2 5 2
3 6 3
> dt <- as.data.table(df)
> dt
a b
1: 1 4
2: 2 5
3: 3 6
> dt[c("b","a")]
Error in `[.data.table`(dt, c("b", "a")) :
When i is a data.table (or character vector), x must be keyed (i.e. sorted, and, marked as sorted) so data.table knows which columns to join to and take advantage of x being sorted. Call setkey(x,...) first, see ?setkey.
Calls: [ -> [.data.table
注意を。
解決策は以下のとおりです。 [FAQ 2.1.7](http://datatable.r-forge.r-project.org/datatable-faq.pdf)では、この 'data.table'と' data.frame'の違いについて説明しています – mnel