# Confidence Interval for ratio Between Two Means

I am trying to do something similar to what it is explained in this tutorial. The difference is that I want to obtain a 95% CI for the ratio between the means of two populations. In few words, I am interested in computing 95%CI of the ratio instead of the difference (subtraction) because I am comparing two populations in multiple conditions, with different scales (see below):

I am using R for all my calculations and I will use dput to input the example dataframes.

Considering the following data frame (the variable avg_fluorescence_minus_background is the mean value of 8 measures, for both VL and NEHC):

structure(list(peptide_factor = structure(c(3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L), .Label = c("ABC", "Background", "EpQ_11"), class = "factor"),
conc_factor = c("0.29 ", "0.29 ", "0.57 ", "0.57 ", "1.15 ",
"1.15 ", "2.3 ", "2.3 "), serum_factor = structure(c(1L,
2L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("NEHC", "VL"), class = "factor"),
avg_fluorescence_minus_background = c(4129.724609375, 6536.05179268973,
10811.8256835938, 15954.4743303571, 25070.1661376953, 45507.1811523438,
48319.0120849609, 49874.4587751116)), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -8L), vars = c("conc_factor",
"serum_factor"), drop = TRUE, indices = list(0L, 1L, 2L, 3L,
4L, 5L, 6L, 7L), group_sizes = c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), biggest_group_size = 1L, labels = structure(list(conc_factor = c("0.29 ",
"0.29 ", "0.57 ", "0.57 ", "1.15 ", "1.15 ", "2.3 ", "2.3 "),
serum_factor = structure(c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L
), .Label = c("NEHC", "VL"), class = "factor")), class = "data.frame", row.names = c(NA,
-8L), vars = c("conc_factor", "serum_factor"), drop = TRUE, .Names = c("conc_factor",
"serum_factor")), .Names = c("peptide_factor", "conc_factor",
"serum_factor", "avg_fluorescence_minus_background"))


Considering now that I am grouping by the variables peptide_factor and conc_factor, I have computed the ratio between the groups VL and NEHC, as shown in the following data frame:

structure(list(peptide_factor = structure(c(3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L), .Label = c("ABC", "Background", "EpQ_11"), class = "factor"),
conc_factor = c("0.29 ", "0.29 ", "0.57 ", "0.57 ", "1.15 ",
"1.15 ", "2.3 ", "2.3 "), serum_factor = structure(c(1L,
2L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("NEHC", "VL"), class = "factor"),
avg_fluorescence_minus_background = c(4129.724609375, 6536.05179268973,
10811.8256835938, 15954.4743303571, 25070.1661376953, 45507.1811523438,
48319.0120849609, 49874.4587751116), difference_background = c(1,
1.5826846608251, 1, 1.47565034780084, 1, 1.81519264381417,
1, 1.03219119396348)), class = c("grouped_df", "tbl_df",
"tbl", "data.frame"), row.names = c(NA, -8L), vars = c("peptide_factor",
"conc_factor"), labels = structure(list(peptide_factor = structure(c(3L,
3L, 3L, 3L), .Label = c("ABC", "Background", "EpQ_11"), class = "factor"),
conc_factor = c("0.29 ", "0.57 ", "1.15 ", "2.3 ")), class = "data.frame", row.names = c(NA,
-4L), vars = c("peptide_factor", "conc_factor"), drop = TRUE, indices = list(
0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L), group_sizes = c(1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L), biggest_group_size = 1L, labels = structure(list(
conc_factor = c("0.29 ", "0.29 ", "0.57 ", "0.57 ", "1.15 ",
"1.15 ", "2.3 ", "2.3 "), serum_factor = structure(c(1L,
2L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("NEHC", "VL"), class = "factor")), class = "data.frame", row.names = c(NA,
-8L), vars = c("conc_factor", "serum_factor"), drop = TRUE, .Names = c("conc_factor",
"serum_factor")), .Names = c("peptide_factor", "conc_factor")), indices = list(
0:1, 2:3, 4:5, 6:7), drop = TRUE, group_sizes = c(2L, 2L,
2L, 2L), biggest_group_size = 2L, .Names = c("peptide_factor",
"conc_factor", "serum_factor", "avg_fluorescence_minus_background",
"difference_background"))


I am interested in the ratio between VL/NEHC (and not in the difference) because, as we can see, the scale varies according to conc_factor. Roughly speaking, I want to normalise my data.

Is there a way to compute the confidence intervals for the ratio between Two Means, instead of the Confidence Interval for a Difference Between Two Means .