不想排版,心情也不好,但是这个知识点很重要,尤其是学习R语言的朋友,请仔细看~
一直以来我都是随便看了点R的编程教程,因为我学了一点点C,所以还算有基础,现在基本上简单看看教程就能懂一门语言了,区别只是熟练度而已。R用得比较多,所以还算擅长,但是很多快捷应用的地方,我总是寄希望于到时候再查资料,所以没能用心的记住,这次花了点时间好好整理了一下R里面关于数据操作的重点,我想,以后再碰到类似的数据处理要求,应该很快能解决了把。
首先看看排序:
在R中,和排序相关的函数主要有三个:sort(),rank(),order()。
sort(x)是对向量x进行排序,返回值排序后的数值向量。
rank()是求秩的函数,它的返回值是这个向量中对应元素的“排名”。
order()的返回值是对应“排名”的元素所在向量中的位置。
其中sort(x)等同于x[order(x)]
下面以一小段R代码来举例说明:
> x<>
> sort(x)
[1] 32 67 74 85 93 97 99 100
> order(x)
[1] 5 8 4 3 2 1 7 6
> rank(x)
[1] 6 5 4 3 1 8 7 2
> x[order(x)]
[1] 32 67 74 85 93 97 99 100
其中比较有用的order,它可以用来给数据框进行排序
dat[order