我正在尝试使用 data.table 计算一个简单的比率。不同的文件有不同的 tmax 值,所以这就是我需要ifelse
. 当我调试它时,dt 看起来不错。tmaxValue
是单个值(在这种情况下遇到的第一个“t=60”),但是是t0Value
dt 中的所有“t=0”值。
summaryDT <- calculate_Ratio(reviewDT[,list(Result, Time), by=key(reviewDT)])
calculate_Ratio <- function(dt){
tmaxValue <- ifelse(grepl("hhep", inFile, ignore.case = TRUE),
dt[which(dt[,Time] == "t=240min"),Result],
ifelse(grepl("hlm",inFile, ignore.case = TRUE),
dt[which(dt[,Time] == "t=60"),Result],
dt[which(dt[,Time] == "t=30"),Result]))
t0Value <- dt[which(dt[,Time] == "t=0"),Result]
return(dt[,Ratio:=tmaxValue/t0Value])
}
我得到的是Result
fortmaxValue
除以所有Result
' 的所有t0Value
',但我想要的是每个唯一的单个比率by
。
谢谢您的帮助。