我正在尝试使用R对基于uniqueLocation
的数据进行分组。
它开始于101,然后转到701。
我希望101为1,而701为4
该值最多可达到16,一旦计数达到16,它将重置为1,并继续为16,直到为数据集分配的值介于1和16之间。
答案 0 :(得分:0)
您可以使用match
和unique
为每个条目获取唯一的ID号。然后,您可以在每16个值之后使用%% 16
进行重置。
df$ID <- match(df$UniqueLocation, unique(df$UniqueLocation)) %% 16
df$ID[df$ID == 0] <- 16
要为每个16个值分配一个唯一的字符串,我们可以使用:
df$ID1 <- paste0('Test_', ceiling(match(df$UniqueLocation,
unique(df$UniqueLocation))/16))