如何使用R索引主题

如何使用R索引主题,r,indexing,R,Indexing,我在R工作,我有一个数据集,每个主题有多个条目。我想创建一个按主题索引的索引变量。例如: Subject Index 1 A 1 2 A 2 3 B 1 4 C 1 5 C 2 6 C 3 7 D 1 8 D 2 9 E 1 第一个A条目索引为1,而第二个A条目索引为2。第一个B项被索引为1,以此类推 任何帮

我在R工作,我有一个数据集,每个主题有多个条目。我想创建一个按主题索引的索引变量。例如:

    Subject Index
1       A     1
2       A     2
3       B     1
4       C     1
5       C     2
6       C     3
7       D     1
8       D     2
9       E     1
第一个A条目索引为1,而第二个A条目索引为2。第一个B项被索引为1,以此类推


任何帮助都会很好

这里是一个快速的数据表

library(data.table)
setDT(df)[, Index := seq_len(.N), by = Subject][]
#    Subject Index
# 1:       A     1
# 2:       A     2
# 3:       B     1
# 4:       C     1
# 5:       C     2
# 6:       C     3
# 7:       D     1
# 8:       D     2
# 9:       E     1
还是用R基

with(df, ave(as.numeric(Subject), Subject, FUN = seq_along))
## [1] 1 2 1 1 2 3 1 2 1
或者使用
dplyr
(不要在
data.table
类上运行此操作)


使用
dplyr

library(dplyr)
df %>% group_by(Subject) %>% mutate(Index = 1:n())
你会得到:

#Source: local data frame [9 x 2]
#Groups: Subject
#
#  Subject Index
#1       A     1
#2       A     2
#3       B     1
#4       C     1
#5       C     2
#6       C     3
#7       D     1
#8       D     2
#9       E     1
#Source: local data frame [9 x 2]
#Groups: Subject
#
#  Subject Index
#1       A     1
#2       A     2
#3       B     1
#4       C     1
#5       C     2
#6       C     3
#7       D     1
#8       D     2
#9       E     1