我对将批处理 ID 分配给具有相同列的行有疑问。
即
我有下表:
c1 c2 c3 c4 c5
a b c d e
a a b c d
a b b d e
a b c d e
a a b c d
b b c d e
我想将基于列 c2 的批处理 ID 添加到 c4。
导致:
c1 c2 c3 c4 c5 BID
a b c d e 1
a a b c d 2
a b b d e 3
a b c d e 1
a a b c d 2
b b c d e 1
请帮忙,也请在代码中使用列名而不是列号(c2
,c3
,c4
而不是df[,2:4]
)
通过基本 R 的想法,
match(do.call(paste, df[c('c2', 'c3', 'c4')]), unique(do.call(paste, df[c('c2', 'c3', 'c4')])))
#[1] 1 2 3 1 2 1