R 根据数据帧中的特定条件提供唯一的ID号
我想根据df中的某些条件在数据帧(df)中给出一个唯一的ID号。我的df看起来像这样: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
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中有很多事情可以用它来完成,但我仍然是初学者,对如何实现这一点没有清晰的认识。谢谢,这真的很有帮助<代码>数据。表格
只是一个想法。我知道在数据框架中有很多事情可以用它来完成,但我仍然是一个新手,对于如何才能做到这一点没有明确的想法。