r - 如何为多个数据框条目分配唯一标识符

标签 r plyr reshape

我有一个包含三个标识符的大型数据框。例如:

df <- data.frame(year=c(1999,1999,2000,2000,2000), country=c('K','K','M','M','S'), 
                 site=c('di','se','di','di','di'))

这将产生这样的数据帧:
    year country site
    1999    K     di
    1999    K     se
    2000    M     di
    2000    M     di
    2000    S     di

我想向数据框中添加一个附加列,并使用“年份”、“国家/地区”和“站点”的条目分配一个“唯一 ID”。它看起来像这样:
    year country site unique_id
    1999    K     di     1
    1999    K     se     2
    2000    M     di     3
    2000    M     di     3
    2000    S     di     4

任何关于如何做到这一点的建议将不胜感激。我认为可以使用 以某种方式完成胶合板包裹?

最佳答案

这应该很好用。 (它利用了一个因素的唯一级别实际上存储为整数的事实,并使用 as.numeric() 访问/提取这些整数值)。

df$unique_id <- 
    as.numeric(as.factor(with(df, paste(year, country, site, sep="_"))))
df
#   year country site unique_id
# 1 1999       K   di         1
# 2 1999       K   se         2
# 3 2000       M   di         3
# 4 2000       M   di         3
# 5 2000       S   di         4

关于r - 如何为多个数据框条目分配唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10118856/

相关文章:

javascript - 重置rhandsontable中的选定范围

R 魔法 : Square crop and circular mask

python - Pandas 数据透视表到数据框

regex - 通过融合和 reshape 包重新使用 colsplit 正则表达式切割列

r - 将两个字段转换为 R 中的一个唯一键

r - 从 R 中的列表列名称获取值表

r - 在 R 中将代码从 ddply 转换为 plyr

R:使用 ddply 将函数应用于数据子集

r - 用于按索引对向量进行分区并在该分区上执行操作的惯用 R 代码

R:处理有时会导致 R session 崩溃的函数?