小编Bob*_*Bob的帖子

order() 的结果应用于 data.frame 与 data.table 时有所不同

order()如果我使用indata.frame和,我会得到不同的结果data.table。例如:

A <- data.frame(one = c("k"), two = c("3_28","31_60","48_68"))
B <- as.data.table(A)

A[order(A$one,A$two), ]
#   one   two
# 1   k  3_28
# 2   k 31_60
# 3   k 48_68


B[order(B$one, B$two), ]
#    one   two
# 1:   k 31_60
# 2:   k  3_28
# 3:   k 48_68
Run Code Online (Sandbox Code Playgroud)

我必须承认这有点令人震惊,因为多年来我一直假设order()结果data.frame相同data.table。我想我需要检查很多代码!

有什么方法可以确保和order()给出相同的结果吗?data.framedata.table

如果这种行为差异已经众所周知,并且这只是我无知的一个例子,我深表歉意。

sorting r radix-sort dataframe data.table

4
推荐指数
1
解决办法
673
查看次数

标签 统计

data.table ×1

dataframe ×1

r ×1

radix-sort ×1

sorting ×1