r - 如何在 R 中创建 ID 列

标签 r database

我有一个长格式的纵向数据。我想根据标识我的数据的每个观察值的变量列创建一个 ID 变量。我如何在 R 中做到这一点?

例子:我有这个数据

name year var1 var2
 A    1    4    3
 A    2    5    1
 A    3    4    2
 B    1    .    .
 B    2    4    3
 B    3    5    1

我想生成一个名为“id”的新列,每个名称都有一个唯一编号,例如:

name id year var1 var2
 A    1  1    4    3
 A    1  2    5    1
 A    1  3    4    2
 B    2  1    .    .
 B    2  2    4    3
 B    2  3    5    1

有什么帮助吗?

最佳答案

如果您的 name 列不仅仅包含单个字母(或者即使包含),您可以使用:

dat$id <- as.numeric(as.factor(dat$name))

或者,更简单地说:

dat$id <- c(as.factor(dat$name))

dat 是您的 data.frame

关于r - 如何在 R 中创建 ID 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9289258/

相关文章:

r - 有没有更好的方法来编写这个 if-else 语句?

r - 在Mac中安装ROracle

r - 在 r 中使用 ggplot2 创建散点图,其中 1 条回归线与所有点但点通过分组变量区分

sql - 在 PostgreSQL 中交换具有 UNIQUE 约束的列的记录值

database - 批量制作词典

sql - 如何查询从表 A 或表 B 中获取值?

r - 如何舍入包含一些字符变量的 R 中的 data.frame?

android - 如何将Android数据上传到远程服务器(数据库)?

php - 使用内连接获取单个值

r - 使用 ggplot2 绘制 POSIXct 时间戳系列