R data.table行顺序混乱

R data.table行顺序混乱,r,data.table,R,Data.table,我有一个csv文件作为data.frame导入。当我通过如下指定键将其转换为data.table时,行顺序会混乱 setDT(DT, head1) 但是,如果转换为数据,行顺序不会受到干扰 setDT(DT) setkey(DT, head1) 现在执行以下操作,我会收到一条警告,指出行顺序无效并已更正 setDT(DT, head1) setkey(DT, head1) Warning message: In setkeyv(x, cols, verbose = verbose, phy

我有一个
csv
文件作为
data.frame
导入。当我通过如下指定
键将其转换为
data.table
时,行顺序会混乱

setDT(DT, head1)
但是,如果转换为
数据,行顺序不会受到干扰

setDT(DT)
setkey(DT, head1)
现在执行以下操作,我会收到一条警告,指出行顺序无效并已更正

setDT(DT, head1)
setkey(DT, head1)

Warning message:
In setkeyv(x, cols, verbose = verbose, physical = physical) :
  Already keyed by this key but had invalid row order, key rebuilt.
If you didn't go under the hood please let datatable-help know so the root cause can be fixed.

为什么会发生这种情况?

您不正确地使用了
setDT
功能。第二个参数是
keep.rownames
,而不是
key
。除了命名键参数外,还必须将其作为字符串传递。像这样:

setDT(DT, key='head1')

有关详细信息,请参见
?setDT

只需查阅您尝试使用的功能手册,尤其是示例,即可节省一些时间。