R 根据数据帧中的特定条件提供唯一的ID号

R 根据数据帧中的特定条件提供唯一的ID号,r,dataframe,data.table,R,Dataframe,Data.table,我想根据df中的某些条件在数据帧(df)中给出一个唯一的ID号。我的df看起来像这样: dfin <- STUDY DRUG FED DOSE TIME CONC 4 0 1 50 2 10 4 0 1 60 4 25 5 1 1 10 5 20 12 0 0 50 2 10 dfout <- STUDY

我想根据df中的某些条件在数据帧(df)中给出一个唯一的ID号。我的df看起来像这样:

dfin <-
STUDY   DRUG  FED  DOSE  TIME  CONC
 4       0     1    50    2     10
 4       0     1    60    4     25
 5       1     1    10    5     20
 12      0     0    50    2     10
dfout <- 
STUDY   DRUG  FED  DOSE  TIME  CONC  ID
 4       0     1    50    2     10    1
 4       0     1    60    4     25    2
 5       1     1    10    5     20    3
 5       1     0    10    5     25    4  
 12      0     0    50    2     10    5

我需要有关如何在R中执行此操作的帮助。

这是
数据中
.GRP
变量的要点。表
,请参阅
?数据。表

.GRP
是一个长度为1的
整数,包含一个简单的组计数器。第一组1人,第二组2人,以此类推

用法:

library(data.table)
setDT(dfin)[ , ID := .GRP, by = .(STUDY, DRUG, FED, DOSE)]

此外,还不清楚您在标记问题时是否考虑了
数据表
;如果是这种情况,请参阅教程。

这是
数据表中
.GRP
变量的要点,请参阅
数据表

.GRP
是一个长度为1的
整数,包含一个简单的组计数器。第一组1人,第二组2人,以此类推

用法:

library(data.table)
setDT(dfin)[ , ID := .GRP, by = .(STUDY, DRUG, FED, DOSE)]

此外,还不清楚您在标记问题时是否考虑了
数据表
;如果是这种情况,请参阅教程。

对于
dplyr
,我们可以使用
组索引

library(dplyr)
dfin %>%
    mutate(ID= group_indices_(., 
        .dots= c("STUDY", "DRUG", "FED", "DOSE")))
#   STUDY DRUG FED DOSE TIME CONC ID
#1     4    0   1   50    2   10  1
#2     4    0   1   60    4   25  2
#3     5    1   1   10    5   20  3
#4    12    0   0   50    2   10  4

使用
dplyr
,我们可以使用
组索引

library(dplyr)
dfin %>%
    mutate(ID= group_indices_(., 
        .dots= c("STUDY", "DRUG", "FED", "DOSE")))
#   STUDY DRUG FED DOSE TIME CONC ID
#1     4    0   1   50    2   10  1
#2     4    0   1   60    4   25  2
#3     5    1   1   10    5   20  3
#4    12    0   0   50    2   10  4

谢谢,这真的很有帮助<代码>数据。表格
只是一个想法。我知道在data frame中有很多事情可以用它来完成,但我仍然是初学者,对如何实现这一点没有清晰的认识。谢谢,这真的很有帮助<代码>数据。表格
只是一个想法。我知道在数据框架中有很多事情可以用它来完成,但我仍然是一个新手,对于如何才能做到这一点没有明确的想法。