We are working on a biological protocol measuring a patient's feature using a blood sample. This protocol has proven to have some variability (CV <= 10%).
During this process we sometime need to change a reagent batch. To be sure the new batch does not alter the results, we are running the protocol using the 2 reagent batches (current and new) on the same samples. We do collect the results in a spreadsheet.
So far we are using a sample size of 5 to 10 samples, with no good rational.
So far we have consider the reagent lot to be OK if the mean of the Coefficients of Variation of the N samples (current vs. new, sample by sample) to be < 10% (again, no good rational).
My first question : how can we calculate an optimal sample size that will ensure we can run with the new reagent. As the reagent are commercial and come with a CE mark quality certificate, the objective is to make sure the reagent is not bad (expired, exposed to a to low/high temperature during transportation/storage, etc.), not to make sure it has the exact same results as the current one.
Once we have collected the results for the 2 reagent for N samples:
data <- data.frame(
sample_id=c(1,2,3,4,5,6,7,8),
result1=c(10.83167, 17.96167, 34.97500, 37.21833, 23.19833, 29.56167, 36.32167, 40.11833),
result2=c(14.80000, 17.71333, 37.17833, 43.74500, 24.86500, 26.80500, 40.80667, 47.52667)
)
My second question: how can I know my second reagent batch is equivalent to the first one?
So far here is what we have done:
data <- data %>% rowwise() %>% mutate(mean=mean(c(result1, result2)), sd=sd(c(result1, result2)))
data$cv <- (data$sd/data$mean)*100
So we have data:
str(data)
Classes ‘rowwise_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 8 obs. of 6 variables:
$ sample_id: num 1 2 3 4 5 6 7 8
$ result1 : num 10.8 18 35 37.2 23.2 ...
$ result2 : num 14.8 17.7 37.2 43.7 24.9 ...
$ mean : num 12.8 17.8 36.1 40.5 24 ...
$ sd : num 2.806 0.176 1.558 4.615 1.179 ...
$ cv : num 21.895 0.984 4.319 11.4 4.904 ...
We have tried:
mean(data$cv)
8.82453442580761
and
t.test(data$result1, data$result2, conf.level = 0.90, paired = T)
Paired t-test
data: data$result1 and data$result2
t = -2.4161, df = 7, p-value = 0.04636
alternative hypothesis: true difference in means is not equal to 0
90 percent confidence interval:
-5.1858973 -0.6274352
sample estimates:
mean of the differences
-2.906666
The standard deviation of the results using this protocol is expected to be 1.8.
But we are not sure how we can interpret these results.
My third question: how can I know I have done enough samples?
Once we have an answer to the equivalence between the 2 reagent batches (whatever the method), how can we make sure this result is strong/significant enough ?
We are using R for the statistical analyses.
Thanx in advance for any help.