通过使用基于 R 中不断变化的数据集的比率来规范化数据

Normalize data by use of ratios based on a changing dataset in R

我正在尝试通过将所有值转换为百分比来标准化 Y 尺度。 因此,我需要将一列中的每个数字除以该列中的第一个数字。在 Excel 中,这相当于锁定单元格 A1/$A1、B1/$A1、C1/$A1,然后是 D1/$D1、E1/$D1...

数据需要首先满足四个标准(时间、处理、浓度和类型),并且参考值在每次新处理时发生变化。每个处理有 4 个浓度(0、0.1、2 和 50)。我希望将与每个浓度相关的值除以参考值(当浓度等于 0 时)。

棘手的部分是此参考值每 4 行更改一次。

我已经尝试使用 ddply 执行此操作:

`MasterTable <- read.csv("~/Dropbox/Master-table.csv")`
  MasterTable <- ddply(MasterTable, .(Time, Type, Treatment), transform, pc=(Value/Value$Concentration==0)) 

但这根本不起作用。任何帮助将不胜感激!

我的数据文件可以在这里找到: Master-table

谢谢!

dplyr 在这里非常有效:

library(dplyr)
result <- group_by(MasterTable, Time, Type, Treatment) %>%
  mutate(pc = Value / Value[1])