【发布时间】:2018-06-21 17:07:57
【问题描述】:
我在 R 中有 2 个数据帧,其中一个是另一个的子集。我必须对其进行一些操作,并从主数据框中计算 6 个 x 值的子集数据的百分比(代码中的 DayTreat)。所以我创建了一个函数来进行计算并创建一个新列。我的问题是它非常缓慢。有什么建议么?
percDay <- function(fullDat, subDat)
{
subDat$DaySum <- NULL
for (i in fullDat$DayTreat) # for each DayTreat value in fullDat. Must be `psmelt()` made phyloseq object
{
r <- sum(fullDat$Abundance[fullDat$DayTreat == i]) # Take the sum of all the taxa for that day
subDat$DaySum[subDat$DayTreat == i] <- r # Add the value to the subset of data
}
subDat$DayPerc <- (subDat$Abundance/subDat$DaySum) # Make the percentage of the subset
subDat
}
【问题讨论】:
-
您是否尝试过using a profiler 来识别瓶颈?此外,一个可重复的示例将帮助我们帮助您。
-
可以添加示例数据集吗?
标签: r performance loops