View the original community article here
Last tested: Jan 21, 2019
According to the R documentation (from inputting >?pnorm in R Studio), pnorm can take up to 5 arguments. This takes a Z-score value q and outputs a probability or p-value.
pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
The related function in Looker's Table Calculations is
norm_dist() which is described as:
norm_dist(value, mean, stdev, cumulative)
Returns the position of value on the normal distribution with the given mean and stdev. If cumulative = yes, then returns the cumulative probability"
Translating this to R language (with the exception of the log.p functionality, which could be achieved by taking the log of the resulting p-value in Looker)
value = q
mean = mean
stdev = sd
cumulative = lower.tail
If cumulative is "yes" or lower.tail is "TRUE" then our p-value is P[X<=x].
To give an example, we get the following in R:
> pnorm(2, 0, 1)
Which is similarly achieved in Looker using:
norm_dist(2,0,1, yes) which gives us
0.977249868 in the calculation column.
The equivalent to qnorm is the
norm_s_inv() function in Table Calculations. Like qnorm, we can input a lower-tail p-value into
norm_s_inv() and receive the Z-score for that p-value. It is worth noting that qnorm in R can take up to 5 arguments, like pnorm. In Looker,
norm_s_inv() only takes a single p-value, nothing else.
norm_s_inv(0.025) which gives us
-1.95996398 in the calculation column.