整合序列中的连续相同值丨数析学院

2016-09-06 10:32 阅读(197)    评论(0)   

问题

在R中,如何对一个向量或因素型变量序列中的连续的相同值进行序列整合?

指南

毫无疑问,我们可以通过一个简单的循环来实现对向量中连续相同值的序列整合,但是在R中,实现这一循环过程所需的等待是十分漫长的。在此我们推荐使用rle()函数,这是个相对快捷的方法。

1

以RLE形式编码的数据可以通过inverse.rle()函数重新转换回向量形式。

2

我们可以发现,在上述过程中,所有的NA值都会被整合为长度为1的单独序列段,即便是两个NA值连续排列在了一起,那么我们该如何将它们整合到一起呢?一种可行的方法是使用特定的值来置换原有序列中的NA值——在数值向量中,我们可以使用Inf或其他特定数字;而在字符向量中,任意的字符串都可以被用来替换NA。当然了,我们必须保证所用的这些特定值在原有的数据向量中从没出现过。

3 4

处理因素型变量序列

rle()函数无法直接处理因素型变量序列,即便其中的因素仅仅是附带了层级关系的整数向量。因此在处理因素型变量序列中的连续相同值之前,我们需要将目标序列转换为一个整数向量或是字符向量,其中,使用整数向量的形式将会提高运行速度并节约内存使用,特别是在对于大数据集的分析中,但其结果相对来说较为难以解读;而使用字符向量的形式虽然将引致较慢的运行速度并消耗较多的内存资源,但在解读方面相对容易。

5 6

「数析学院」http://datacademy.io/

我们致力于打造更加精要的课程,如果小伙伴们在工作和学习中遇到什么问题,可以给我们留言。

公司二维码

分享到:

相关推荐

  • 邹伯奇2

    奇才学贯中西不屑科举,发明中国第一台照相机一生无财无名

    19世纪40年代,中国的教育主体仍是传统的封建教育,教育内容以儒家经典为中心。 义理学,考据学、辞章学被奉为学术正统,其他则被黜为异端。 士子即使是刻苦读经,考上进士,亦多无真才实学。 在这样的大环境下,好好学习八股文,考取功名光宗耀祖,是绝大多数人的选择。 若要跟这些...

  • 0 (3)

    吃出人命的福寿螺是何方妖孽,10年前就让80多人染上寄生虫,一度遭禁售

    近日,豆瓣上一个帖子在网上引起了广泛的关注。 一位ID名为“缓缓归”的网友称在蜜月时,吃了一种疑似“田螺”的菜品,导致颅内寄生虫感染。 在半年内,她就接受了6次腰部穿刺治疗,扎了300多瓶水和吃了十几盒打虫药。 因为大量使用药物和激素,本已怀孕的她也不得不选择流产,身心遭到不同...

  • t1larg.pills.forget.gi

    吃了医生开的”假药”,我却感觉到了未曾有过的解脱

    如果说,有一种药片不仅能够缓解疼痛、治疗抑郁、减轻帕金森症状,而且对多种疾病都有不同程度的疗效,你会相信吗? 这种药片确实存在。 它不仅形态各异,还能被制成各种胶囊、冲剂或者是注射剂。 事实上,这些药片里甚至都不含任何有效的药物成分。 也许你已经猜到,它就是神奇...

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

SME 发掘你不知道的科技故事