1
我需要創建組列 - B對應於另一列 - 一個「ifelse」創建基於多組列
DF
A B
XXL 1
XXL 1
XL 2
L 3
M 4
M 4
S 5
我試圖用多個ifelse
聲明。但是這並不奏效,因爲它返回了零列。以及我試圖使用矢量化的方式ifelse
導致相同的方式。 謝謝你的任何建議。
我需要創建組列 - B對應於另一列 - 一個「ifelse」創建基於多組列
DF
A B
XXL 1
XXL 1
XL 2
L 3
M 4
M 4
S 5
我試圖用多個ifelse
聲明。但是這並不奏效,因爲它返回了零列。以及我試圖使用矢量化的方式ifelse
導致相同的方式。 謝謝你的任何建議。
我們既可以使用match
或factor
DF$B <- with(DF, match(A, unique(A)))
DF$B
#[1] 1 1 2 3 4 4 5
或者
as.numeric(factor(DF$A, levels = unique(DF$A)))
#[1] 1 1 2 3 4 4 5
這裏有一些其他的選項,以及
cumsum(!duplicated(DF$A))
#[1] 1 1 2 3 4 4 5
或用data.table
library(data.table)
setDT(DF)[, B:= .GRP, A]
噢謝謝你!太簡單 :) – HoHoHo