我有一个长格式的纵向数据。我想根据标识我的数据的每个观察值的变量列创建一个 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/