我有大量的校准曲线(即仪器响应与分析物浓度),我想检查它们是否彼此不同。
恰好一条曲线与两个因素(天和治疗)水平的每个独特组合相关联。因此,在 R 中,数据如下所示:
set.seed(0)
day = gl(2, 6, labels=c("day1", "day2"))
treat = gl(2, 3, 12, labels=c("A", "B"))
conc = rep(0:2, 4)
response = conc + rnorm(12)/2
df <- data.frame(day=day, treat=treat, conc=conc, response=response)
我想知道一个或两个因素是否会影响校准曲线的斜率(我不太关心截距)。如果它们不同,我将为每个相应的数据集使用不同的校准曲线;如果它们没有不同,我将对它们进行平均以提高基于校准曲线的测量精度。
使用 ANCOVA 来测试斜率之间的差异是否正确,使用day
和的交互作用treat
?如果是这样,是正确的 R 代码
model <- lm(response ~ conc + day:treat)
编辑:要清楚:与每条校准曲线一起,我已经测量了数据,我将使用校准曲线对其进行校准。我试图了解我是否应该为每个时间点和治疗使用单独的校准曲线(这将提高准确性,如果时间点和/或治疗有影响)或者是否可以接受平均校准曲线(这将改善精确)。因此,我想知道治疗、时间点或治疗和时间点是否会影响校准曲线的斜率。csv文件的实际数据在这里(未来天数会增加)。
EDIT2:感谢所有参与以下对话的人。为了澄清,我试图了解什么模型会告诉我响应与浓度曲线的斜率是否存在显着差异,无论是一天还是治疗或两者。查看我在此处发布的实际数据,而不是我为简单起见生成的假数据,这可能是有益的。
require(ggplot2)
df <- read.csv("http://dl.dropbox.com/u/48901983/IntrxnDataSo.csv")
ggplot(df, aes(x=conc, y=response, colour=day)) +
geom_point() + geom_line() +
facet_wrap(~treatment)
因此,看起来一天对 response-vs-conc 图的斜率有影响。
ggplot(df, aes(x=conc, y=response, colour=treatment)) +
geom_point() + geom_line() +
facet_wrap(~day)
目前尚不清楚治疗对响应-浓度图的斜率有影响。
int <- ddply(df, .(treatment, day), function(x) coefficients(lm(x$response~x$conc))[1])
names(int)[3] <- "Intercept"
ggplot(int, aes(x=treatment, y=Intercept, colour=day)) + geom_point()
看起来治疗对响应与浓度图的截距也有影响。