問題
在R中,如何對一個向量或因素型變量序列中的連續(xù)的相同值進行序列整合爽锥?
指南
毫無疑問阁簸,我們可以通過一個簡單的循環(huán)來實現(xiàn)對向量中連續(xù)相同值的序列整合,但是在R中咖驮,實現(xiàn)這一循環(huán)過程所需的等待是十分漫長的边器。在此我們推薦使用rle()函數(shù)训枢,這是個相對快捷的方法。
以RLE形式編碼的數(shù)據(jù)可以通過inverse.rle()函數(shù)重新轉(zhuǎn)換回向量形式忘巧。
我們可以發(fā)現(xiàn)恒界,在上述過程中,所有的NA值都會被整合為長度為1的單獨序列段砚嘴,即便是兩個NA值連續(xù)排列在了一起仗处,那么我們該如何將它們整合到一起呢?一種可行的方法是使用特定的值來置換原有序列中的NA值——在數(shù)值向量中枣宫,我們可以使用Inf或其他特定數(shù)字婆誓;而在字符向量中,任意的字符串都可以被用來替換NA也颤。當然了洋幻,我們必須保證所用的這些特定值在原有的數(shù)據(jù)向量中從沒出現(xiàn)過。
處理因素型變量序列
rle()函數(shù)無法直接處理因素型變量序列翅娶,即便其中的因素僅僅是附帶了層級關(guān)系的整數(shù)向量文留。因此在處理因素型變量序列中的連續(xù)相同值之前,我們需要將目標序列轉(zhuǎn)換為一個整數(shù)向量或是字符向量竭沫,其中燥翅,使用整數(shù)向量的形式將會提高運行速度并節(jié)約內(nèi)存使用,特別是在對于大數(shù)據(jù)集的分析中蜕提,但其結(jié)果相對來說較為難以解讀森书;而使用字符向量的形式雖然將引致較慢的運行速度并消耗較多的內(nèi)存資源,但在解讀方面相對容易谎势。
數(shù)析學院:http://datacademy.io/
我們致力于打造更加精要的課程,如果小伙伴們在工作和學習中遇到什么問題,可以給我們留言凛膏。