第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

創(chuàng)建連續(xù)值的組名

創(chuàng)建連續(xù)值的組名

至尊寶的傳說 2019-11-20 11:02:32
看起來很容易完成,無法找到更簡單的方法。我在x下面有一個向量,需要為連續(xù)的值創(chuàng)建組名。我的嘗試是使用rle,更好的主意?# datax <- c(1,1,1,2,2,2,3,2,2,1,1)# make groupsrep(paste0("Group_", 1:length(rle(x)$lengths)), rle(x)$lengths)# [1] "Group_1" "Group_1" "Group_1" "Group_2" "Group_2" "Group_2" "Group_3" "Group_4"# [9] "Group_4" "Group_5" "Group_5"
查看完整描述

3 回答

?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗 獲得超9個贊

使用diff和cumsum:


paste0("Group_", cumsum(c(1, diff(x) != 0)))

#[1] "Group_1" "Group_1" "Group_1" "Group_2" "Group_2" "Group_2" "Group_3" "Group_4" "Group_4" "Group_5" "Group_5"

(如果您的值是浮點值,則可能必須避免!=使用,而是使用公差。)


查看完整回答
反對 回復(fù) 2019-11-20
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊

groupdata2中的group()可以使用l_starts方法根據(jù)組起點列表創(chuàng)建組。通過設(shè)置n為auto,它會自動查找組開始:


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

groupdata2::group(x, n = "auto", method = "l_starts")


## # A tibble: 11 x 2

## # Groups:   .groups [5]

##     data .groups

##    <dbl> <fct>  

##  1     1 1      

##  2     1 1      

##  3     1 1      

##  4     2 2      

##  5     2 2      

##  6     2 2      

##  7     3 3      

##  8     2 4      

##  9     2 4      

## 10     1 5      

## 11     1 5     

還有一個differs_from_previous()函數(shù)可以找到與先前值相差某個閾值的值或值的索引。


# The values to start groups at

differs_from_previous(x, threshold = 1,

                      direction = "both")

## [1] 2 3 2 1


# The indices to start groups at

differs_from_previous(x, threshold = 1,

                      direction = "both",

                      return_index = TRUE)

## [1] 4 7 8 10


查看完整回答
反對 回復(fù) 2019-11-20
  • 3 回答
  • 0 關(guān)注
  • 634 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號