我在設計一個rle命令時遇到了一些麻煩,該命令旨在查找參與者連續排列8個連續點的位置。rle命令的幫助
例如,如果:
x <- c(0,1,0,1,1,1,1,1,1,1,1,1)
我想我一直在使用這一段代碼到11
感謝的值返回到迪文:
which(rle(x2)$values==1 & rle(x2)$lengths >= 8)
sum(rle(x)$lengths[ 1:(min(which(rle(x)$lengths >= 8))-1) ]) + 8
我一直在成功使用此代碼來處理我的數據。但是,我注意到它在處理我的一個數據文件時犯了一個錯誤。
例如,如果
x <- c(1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
代碼返回19,這是到達在該一排8個連續零的點。我不確定發生了什麼問題或者如何解決問題。
在此先感謝您的幫助。
將
這是一個很好的答案,但FYI任何用戶也使用'dplyr'你將不得不調用'統計:: filter'以免與混淆'dplyr :: filter' – Stedy 2016-12-09 21:38:41