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