这个(非常基本的)问题是这里交流的结果。
setkey()
的文档说明:
setkey()对数据进行排序。表并将其标记为已排序。排序列是关键。键可以是任何顺序的任何列。列始终按升序排序。该表通过引用…(增加强调)进行了更改
我一直将此解释为setkey()
创建索引,而不是物理地重新排列数据表的行(类似于索引数据库表)。但是如果这是真的,那么删除键(使用setkey(DT, NULL)
)应该删除索引并将数据表恢复到其原始的未排序顺序。这不是发生的事情:
library(data.table)
DT <- data.table(a=3:1, b=1:3, c=5:7); DT
a b c
1: 3 1 5
2: 2 2 6
3: 1 3 7
setkey(DT,a); DT
a b c
1: 1 3 7
2: 2 2 6
3: 3 1 5
setkey(DT,NULL)
a b c
1: 1 3 7
2: 2 2 6
3: 3 1 5
所以两个问题:
1: 如果行被重新排列(排序),那么“通过引用更改”意味着什么?
2: setkey(DT,NULL)
到底做什么?
>
行已排序。这里的“通过引用更改”表示没有复制整个表,只是交换了行。
设置键(DT, 空)
等效于 setattr(DT, “排序”, 空)
。它只是取消设置“已排序”属性。
问题内容: 我有一个看起来像这样的数据框: 它是使用以下代码创建的: 我要做的是根据预定义的列表对行(带有索引)进行排序。结果是: 我该如何实现? 问题答案: 你可以使用预定义的顺序设置指标像 但是,如果按字母顺序排列,则可以使用 如下所示,您需要将其分配给一些变量
目前,我有一个名为的,看起来像这样,其中几何体表示一个点(纬度、经度)。 给定另一个点(lat,long),我想找到从这个数据框到那个特定点的最近点。我用距离函数计算了最近的点 现在我有一个系列,看起来像这样 我怎样才能得到一个Geodataframe的副本,它按相同的顺序排序,如下所示?谢谢
我有一个像这样的数据框- 我有一个这样的列表- 现在,我想根据列名列表对数据框进行排序 因此,新的数据框将有列名称-
问题内容: 第一次尝试熊猫,我试图先按照索引对数据透视表进行排序,然后再对一系列值进行排序。 到目前为止,我已经尝试过: 按索引然后按值对数据透视表进行排序的正确方法是什么? 问题答案: 这是一个可以做您想要的解决方案: 结果将如下所示: 将其作为API方法内置到熊猫中会很好。虽然不确定应该是什么样。
本文向大家介绍MySQL中利用索引对数据进行排序的基础教程,包括了MySQL中利用索引对数据进行排序的基础教程的使用技巧和注意事项,需要的朋友参考一下 MySQL中,有两种方式生成有序结果集:一是使用filesort,二是按索引顺序扫描。利用索引进行排序操作是非常快的,而且可以利用同一索引同时进行查找和排序操作。当索引的顺序与ORDER BY中的列顺序相同且所有的列是同一方向(全部升序或者全部降序
问题内容: 我想具有重新排列表中的行的功能(使用拖放对行进行排序)。 并且行排列的索引在模型中也应更改。 如何 使用Angular Directive 做类似的事情:http : //jsfiddle.net/tzYbU/1162/? 我正在生成表为: 问题答案: 我做的。请参阅下面的代码。 的HTML 指令(JS)