我確信這必須是一個愚蠢的但我不能得到它的工作。我想添加一個ID col到一個數據框,爲一列中的每個唯一值重置爲1。描述最好的方法是通過例如:在R中重置爲1的組編號爲
gr1 <- c("A","A","A","B","B","B")
gr2 <- c(1,1,2,3,4,4)
df <- data.frame(gr1, gr2)
希望的輸出:
id <- c(1,1,2,1,2,2)
df <- cbind(df, id)
的ID被標記GR1的每個子集內的GR2唯一值。當gr1從A更改爲B時,ID重置爲1.我已閱讀(Assign an ID based on two columns R),但這不是我想要的。我不想添加排名功能(我認爲),因爲我希望我的領帶在gr1中都具有相同的ID,例如
df2 <- df %>% group_by(gr1) %>% mutate(id=rank(gr2, ties.method="max"))
把我的頭撞在牆上。任何指針都會有很大的幫助。
使用'data.table':'setDT(DF)[,ID:= RLEID(GR2),GR1]' – mtoto
這完美地工作。你想發佈作爲答案嗎? – Pete900
'1 + gr2 - ave(gr2,gr1,FUN = min)' – rawr