遍历数据帧并为新列中的值分配一个值

时间:2020-05-13 08:07:25

标签: r

我正在尝试使用R对基于uniqueLocation的数据进行分组。

它开始于101,然后转到701。

我希望101为1,而701为4

该值最多可达到16,一旦计数达到16,它将重置为1,并继续为16,直到为数据集分配的值介于1和16之间。

1 个答案:

答案 0 :(得分:0)

您可以使用matchunique为每个条目获取唯一的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))
相关问题