亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算序列中的運行次數?

如何計算序列中的運行次數?

紅顏莎娜 2019-10-19 15:27:58
在R中,對序列中相同元素的運行進行計數的最有效/最簡單的方法是什么?例如,如何計算非負整數序列中連續零的數量:x <- c(1,0,0,0,1,0,0,0,0,0,2,0,0) # should give 3,5,2
查看完整描述

3 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

通過使用值在何處更改的索引,可以有效地完成此操作:


x <- c(1,0,0,0,1,2,1,0,0,1,1)

查找值更改的位置:


diffs <- x[-1L] != x[-length(x)]

獲取索引,然后獲取后續索引中的差異:


idx <- c(which(diffs), length(x))

diff(c(0, idx))


查看完整回答
反對 回復 2019-10-19
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

雖然這rle()是回答OP的問題的簡便方法,但在某些情況下,此解決方案還有其他優點。特別是,我一直在尋找一種對每個運行進行唯一編號的方法,而不是對運行進行計數,我發現我可以使用來做到這一點c(0,cumsum(x[-1L] != x[-length(x)]))。

查看完整回答
反對 回復 2019-10-19
  • 3 回答
  • 0 關注
  • 668 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號