`
googya
  • 浏览: 143335 次
  • 性别: Icon_minigender_1
  • 来自: 汉川
社区版块
存档分类
最新评论

R中order函数的返回值的含义

    博客分类:
  • R
阅读更多
    最近一直对于R中的order的用法不理解,不知道其返回的什么东西。今天稍微研究了一下,多天的困惑都消除了。备忘,记之!
    假设有如下向量:

xx    4    3    2    1    2    3    4    5

order(xx)返回的是:

[1] 4 3 5 2 6 1 7 8

xx[c(4,3,5,2,6,1,7,8)]
[1] 1 2 2 3 3 4 4 5


返回的这个向量刚好是xx向量中各数的原始的位置,比如xx[8]就是5,5就是第8个!


    理解了返回值的含义之后,更复杂一点的排序就可以理解了。假设有如下矩阵:

mimi
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
xx    4    3    2    1    2    3    4    5
qw    1    2    3    4    5    6    7    8
gg    9   10   11   12   13   14   15   16


要根据第一列进行排序,可以这样做:
mimi(order(mimi[,1]),),得到如下结果:


   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
qw    1    2    3    4    5    6    7    8
xx    4    3    2    1    2    3    4    5
gg    9   10   11   12   13   14   15   16

是不是很神奇?



当然也可以对每一行的向量进行排序,但是处理方式与列的不同,要用到apply这个函数(人家说apply本质上就是一个循环)。中间的参数:1代表行,2代表列,c(1:2)话,至少要用到3维以上的矩阵,可以使用?apply查看该函数的用法。

> t(apply(mimi,1,sort))
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
xx    1    2    2    3    3    4    4    5
qw    1    2    3    4    5    6    7    8
gg    9   10   11   12   13   14   15   16

是不是很好玩?
R在处理向量方面的力量确实强大!

当然还有很多的用法有待挖掘,欢迎有兴趣的朋友有来交流,一起学习学习!


0
0
分享到:
评论
1 楼 googya 2010-09-07  
现在明白了,其实就是矩阵的秩

相关推荐

    JavaScript函数式编程.pdf

    在JavaScript中,函数是一等公民,这意味着函数可以被赋值给变量、作为参数传递给其他函数以及作为其他函数的返回值。函数式编程强调纯函数(pure functions)和不可变性(immutability),纯函数指的是相同的输入...

    C# 的函数编程详解

    - **使用LINQ**:Language Integrated Query(LINQ)是C#中引入的函数式编程特性,它允许开发者以声明式风格编写查询,例如`books.Where(price).OrderBy(title).Take(10)`,这种方式使得代码更易读,同时也利用了...

    Oracle分析函数

    Oracle 分析函数是 Oracle 数据库中的一种强大功能,能够帮助用户快速进行数据分析和处理。在本文中,我们将对 Oracle 分析函数进行详细的介绍,并对其各个函数进行解释。 一、总体介绍 Oracle 分析函数的语法...

    函数式编程术语解释

    Side Effects(副作用)是指一个函数在执行过程中,除了返回值之外,还对系统的状态产生影响。例如,修改全局变量或者进行输入输出操作,这些都是副作用。在函数式编程中,通常鼓励避免副作用,因为它会增加程序的...

    有缘函数详细讲解实例

    有缘函数,也被称为高阶函数(Higher-Order Function),是编程语言中一种非常重要的概念,尤其在函数式编程中占据核心地位。这种函数能够接受一个或多个函数作为参数,并/或返回一个新的函数作为结果。在本文中,...

    润乾报表所有函数整理(完整版)

    Select 函数是润乾报表中最基本的函数之一,用于从数据源中选择指定的数据。该函数的语法如下: 语法:SELECT [DISTINCT] column_name [alias] FROM table_name [WHERE condition] [ GROUP BY column_name] [HAVING...

    函数式Swift 已对应 Swift 4

    《函数式Swift》是一本深度探讨Swift编程语言中函数式编程思想的书籍,特别强调了其在Swift 4版本中的应用。函数式编程是一种编程范式,它将计算视为函数的求值,而不是状态的改变或命令的执行。在Swift中,函数式...

    子程序(函数)传递.rar

    - 在某些支持函数作用域的语言中,函数可以记住其创建时的作用域,即使在其外部调用也能访问那些变量。 7. **高阶函数(Higher-Order Function)**: - 接收一个或多个函数作为参数,或者返回一个新的函数的函数...

    C#使用函数设置条件

    在C#中,函数使用`void`或特定返回类型(如`int`, `string`等)声明,使用`return`关键字返回值。函数定义的基本语法如下: ```csharp 返回类型 函数名(参数列表) { // 函数体 } ``` 例如,一个简单的无...

    JS 函数式编程指南

    在JS中,函数可以赋值给变量,作为参数传递给其他函数,也可以作为其他函数的返回值。这一特性使得函数式编程成为可能,因为函数可以被当作一种数据来处理。 3. 声明式编程: 函数式编程倾向于使用声明式代码,即...

    oracle函数介绍(7) 非著名函数之分析函数.doc

    1、CUME_DIST() OVER([partition_clause] order_by_clause) 返回该行在分组序列中的相对位置,返回值介于0到1之间。注意哟,如果order by的列是desc,则该分组内最大的行返回列值1,如果order by为asc,则该分组内...

    Excel函数公式大全.doc

    * RANK 函数:计算排名,將數值 number 在一组数 ref 中的排名算出,數值 order 為 0 為降序,1 為升序。 Excel 函数大全可以帮助用户快速处理和分析数据,提高工作效率和准确性。但是,需要注意的是,正确使用 ...

    C++构造函数与析构函数

    析构函数没有返回值,也不接受任何参数。一个类只能有一个析构函数,并且其名称必须是类名前面加上波浪线`~`。 **示例代码解析:** ```cpp // 析构函数定义 ~Stock() { cout ; } ``` 在这个例子中,`Stock`类...

    mql5帮助文档_字典函数_中文参考手册.chm.rar

    《MQL5字典函数中文参考手册》是针对MetaQuotes Language 5(MQL5)编程语言的重要参考资料,主要用于编写交易机器人、技术指标和脚本等。MQL5是MetaTrader 5交易平台的核心编程语言,它允许用户进行复杂的市场分析...

    函数式 Swift

    1. **高阶函数(Higher-Order Functions)**:在Swift中,函数可以作为参数传递给其他函数,也可以作为返回值。例如,`map`、`filter`和`reduce`等函数都是高阶函数,它们接受一个函数作为参数,用于对集合进行操作...

    PB常用函数.docx

    MessageBox 函数有返回值,返回值为 1、2 或 3,分别对应选择的按键。 二、SetFocus 函数 SetFocus 函数用于设置控件的焦点。基本语法为: `对象名.SetFocus` 例如: `sle_1.SetFocus` 也可以使用 Format 菜单...

    sql server函数大合集

    COUNT_BIG 函数返回组中项目的数量,在使用上和 COUNT 基本上是一样的,只是在返回值上有一点区别,COUNT_BIG 返回的是 bigint 数据类型值,COUNT 返回的是 int 数据类型值。 7. GROUPING 函数 GROUPING 函数返回...

    C语言函数指针与指针函数训练.zip

    在C语言中,函数指针和指针函数是高级特性,它们在编程中扮演着重要角色,尤其是在处理回调函数、动态调度以及实现元编程等方面。本训练将深入讲解这两个概念,帮助你掌握其核心概念和实际应用。 首先,我们要了解...

    vfp自定义函数集

    4. **汉字排序**:VFP中的`ORDER BY`语句在处理汉字时可能需要特别注意,因为按字典顺序排序时,汉字的排序逻辑与英文不同。可以自定义排序函数来实现正确的汉字排序。 5. **汉字比较**:使用`LIKE`, `MATCHES`或...

    TB函数用法手册

    9. `A_DeleteOrder`函数用于撤销指定合同号或当前商品的所有未成交委托单,返回值为True表示成功,False表示失败。需谨慎使用,以免误操作。 10. `A_FreeMargin`函数返回可用资金,即账户中可用于新交易的资金,对...

Global site tag (gtag.js) - Google Analytics