Testing confidence intervals in R
I currently have constructed a 95% confidence interval and have then used replicate()
to randomly generate 1000 confidence intervals. I want to measure how many of the intervals contain my mean. I know in theory it should be in 950 of them but how do I get a definite answer? The function I used and the mean are listed below.
z <- function(a,b,c){
error <- rnorm(a, b, c) * c / sqrt(a)
left <- b - error
right <- j + error
paste("[",round(left,2),";",round(right,2),"]")
}
set.seed(123)
replicate(1000, z(10,1,1))
Where do I go from here?
r confidence-interval
|
show 3 more comments
I currently have constructed a 95% confidence interval and have then used replicate()
to randomly generate 1000 confidence intervals. I want to measure how many of the intervals contain my mean. I know in theory it should be in 950 of them but how do I get a definite answer? The function I used and the mean are listed below.
z <- function(a,b,c){
error <- rnorm(a, b, c) * c / sqrt(a)
left <- b - error
right <- j + error
paste("[",round(left,2),";",round(right,2),"]")
}
set.seed(123)
replicate(1000, z(10,1,1))
Where do I go from here?
r confidence-interval
I can't make much sense of yourz()
function. Could you format it better/tidy it up?
– AkselA
Nov 23 '18 at 11:16
@AkselA is that better?
– John Fitz
Nov 23 '18 at 11:22
It still looks like non-sense :). Have you written functions in R before?
– AkselA
Nov 23 '18 at 11:28
No I'm new to R. It generates the 1000 confidence intervals but how do I then test if the mean is contained in each confidence interval?
– John Fitz
Nov 23 '18 at 11:31
Confidence interval of what? Estimating the mean of a normal distribution?
– AkselA
Nov 23 '18 at 11:45
|
show 3 more comments
I currently have constructed a 95% confidence interval and have then used replicate()
to randomly generate 1000 confidence intervals. I want to measure how many of the intervals contain my mean. I know in theory it should be in 950 of them but how do I get a definite answer? The function I used and the mean are listed below.
z <- function(a,b,c){
error <- rnorm(a, b, c) * c / sqrt(a)
left <- b - error
right <- j + error
paste("[",round(left,2),";",round(right,2),"]")
}
set.seed(123)
replicate(1000, z(10,1,1))
Where do I go from here?
r confidence-interval
I currently have constructed a 95% confidence interval and have then used replicate()
to randomly generate 1000 confidence intervals. I want to measure how many of the intervals contain my mean. I know in theory it should be in 950 of them but how do I get a definite answer? The function I used and the mean are listed below.
z <- function(a,b,c){
error <- rnorm(a, b, c) * c / sqrt(a)
left <- b - error
right <- j + error
paste("[",round(left,2),";",round(right,2),"]")
}
set.seed(123)
replicate(1000, z(10,1,1))
Where do I go from here?
r confidence-interval
r confidence-interval
edited Nov 23 '18 at 11:57
Roland
99.1k6112183
99.1k6112183
asked Nov 23 '18 at 11:11
John FitzJohn Fitz
33
33
I can't make much sense of yourz()
function. Could you format it better/tidy it up?
– AkselA
Nov 23 '18 at 11:16
@AkselA is that better?
– John Fitz
Nov 23 '18 at 11:22
It still looks like non-sense :). Have you written functions in R before?
– AkselA
Nov 23 '18 at 11:28
No I'm new to R. It generates the 1000 confidence intervals but how do I then test if the mean is contained in each confidence interval?
– John Fitz
Nov 23 '18 at 11:31
Confidence interval of what? Estimating the mean of a normal distribution?
– AkselA
Nov 23 '18 at 11:45
|
show 3 more comments
I can't make much sense of yourz()
function. Could you format it better/tidy it up?
– AkselA
Nov 23 '18 at 11:16
@AkselA is that better?
– John Fitz
Nov 23 '18 at 11:22
It still looks like non-sense :). Have you written functions in R before?
– AkselA
Nov 23 '18 at 11:28
No I'm new to R. It generates the 1000 confidence intervals but how do I then test if the mean is contained in each confidence interval?
– John Fitz
Nov 23 '18 at 11:31
Confidence interval of what? Estimating the mean of a normal distribution?
– AkselA
Nov 23 '18 at 11:45
I can't make much sense of your
z()
function. Could you format it better/tidy it up?– AkselA
Nov 23 '18 at 11:16
I can't make much sense of your
z()
function. Could you format it better/tidy it up?– AkselA
Nov 23 '18 at 11:16
@AkselA is that better?
– John Fitz
Nov 23 '18 at 11:22
@AkselA is that better?
– John Fitz
Nov 23 '18 at 11:22
It still looks like non-sense :). Have you written functions in R before?
– AkselA
Nov 23 '18 at 11:28
It still looks like non-sense :). Have you written functions in R before?
– AkselA
Nov 23 '18 at 11:28
No I'm new to R. It generates the 1000 confidence intervals but how do I then test if the mean is contained in each confidence interval?
– John Fitz
Nov 23 '18 at 11:31
No I'm new to R. It generates the 1000 confidence intervals but how do I then test if the mean is contained in each confidence interval?
– John Fitz
Nov 23 '18 at 11:31
Confidence interval of what? Estimating the mean of a normal distribution?
– AkselA
Nov 23 '18 at 11:45
Confidence interval of what? Estimating the mean of a normal distribution?
– AkselA
Nov 23 '18 at 11:45
|
show 3 more comments
1 Answer
1
active
oldest
votes
Maybe this is what you're trying to do?
This z()
will return the confidence interval for the population mean of a normal distribution.
z <- function(N, mu, std, cl=95) {
alpha <- (1-cl/100)/2
# CI for population mean
sep <- std/sqrt(N)
z_s <- qnorm(1 - alpha)
pop_lower <- mu - z_s*sep
pop_upper <- mu + z_s*sep
c(lower=pop_lower, upper=pop_upper)
}
Meaning that if I produce a random variate mean(rnorm(20, 0, 1))
, then we expect the value of that to lie within z(20, 0, 1, 95)
with probability 0.95.
To test this we can do
# specify parameters
N <- 20
mu <- 0
std <- 1
# produce a good number (10,000) of population means
set.seed(1)
r <- replicate(1e4, mean(rnorm(N, mu, std)))
# calculate confidence interval
ci <- z(N, mu, std)
# find which are below, within and above the interval
rc <- cut(r, c(min(r), ci, max(r)), c("below", "within", "above"))
# create a proportion table
round(prop.table(table(rc))*100, 2)
# below within above
# 2.59 95.08 2.33
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445602%2ftesting-confidence-intervals-in-r%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Maybe this is what you're trying to do?
This z()
will return the confidence interval for the population mean of a normal distribution.
z <- function(N, mu, std, cl=95) {
alpha <- (1-cl/100)/2
# CI for population mean
sep <- std/sqrt(N)
z_s <- qnorm(1 - alpha)
pop_lower <- mu - z_s*sep
pop_upper <- mu + z_s*sep
c(lower=pop_lower, upper=pop_upper)
}
Meaning that if I produce a random variate mean(rnorm(20, 0, 1))
, then we expect the value of that to lie within z(20, 0, 1, 95)
with probability 0.95.
To test this we can do
# specify parameters
N <- 20
mu <- 0
std <- 1
# produce a good number (10,000) of population means
set.seed(1)
r <- replicate(1e4, mean(rnorm(N, mu, std)))
# calculate confidence interval
ci <- z(N, mu, std)
# find which are below, within and above the interval
rc <- cut(r, c(min(r), ci, max(r)), c("below", "within", "above"))
# create a proportion table
round(prop.table(table(rc))*100, 2)
# below within above
# 2.59 95.08 2.33
add a comment |
Maybe this is what you're trying to do?
This z()
will return the confidence interval for the population mean of a normal distribution.
z <- function(N, mu, std, cl=95) {
alpha <- (1-cl/100)/2
# CI for population mean
sep <- std/sqrt(N)
z_s <- qnorm(1 - alpha)
pop_lower <- mu - z_s*sep
pop_upper <- mu + z_s*sep
c(lower=pop_lower, upper=pop_upper)
}
Meaning that if I produce a random variate mean(rnorm(20, 0, 1))
, then we expect the value of that to lie within z(20, 0, 1, 95)
with probability 0.95.
To test this we can do
# specify parameters
N <- 20
mu <- 0
std <- 1
# produce a good number (10,000) of population means
set.seed(1)
r <- replicate(1e4, mean(rnorm(N, mu, std)))
# calculate confidence interval
ci <- z(N, mu, std)
# find which are below, within and above the interval
rc <- cut(r, c(min(r), ci, max(r)), c("below", "within", "above"))
# create a proportion table
round(prop.table(table(rc))*100, 2)
# below within above
# 2.59 95.08 2.33
add a comment |
Maybe this is what you're trying to do?
This z()
will return the confidence interval for the population mean of a normal distribution.
z <- function(N, mu, std, cl=95) {
alpha <- (1-cl/100)/2
# CI for population mean
sep <- std/sqrt(N)
z_s <- qnorm(1 - alpha)
pop_lower <- mu - z_s*sep
pop_upper <- mu + z_s*sep
c(lower=pop_lower, upper=pop_upper)
}
Meaning that if I produce a random variate mean(rnorm(20, 0, 1))
, then we expect the value of that to lie within z(20, 0, 1, 95)
with probability 0.95.
To test this we can do
# specify parameters
N <- 20
mu <- 0
std <- 1
# produce a good number (10,000) of population means
set.seed(1)
r <- replicate(1e4, mean(rnorm(N, mu, std)))
# calculate confidence interval
ci <- z(N, mu, std)
# find which are below, within and above the interval
rc <- cut(r, c(min(r), ci, max(r)), c("below", "within", "above"))
# create a proportion table
round(prop.table(table(rc))*100, 2)
# below within above
# 2.59 95.08 2.33
Maybe this is what you're trying to do?
This z()
will return the confidence interval for the population mean of a normal distribution.
z <- function(N, mu, std, cl=95) {
alpha <- (1-cl/100)/2
# CI for population mean
sep <- std/sqrt(N)
z_s <- qnorm(1 - alpha)
pop_lower <- mu - z_s*sep
pop_upper <- mu + z_s*sep
c(lower=pop_lower, upper=pop_upper)
}
Meaning that if I produce a random variate mean(rnorm(20, 0, 1))
, then we expect the value of that to lie within z(20, 0, 1, 95)
with probability 0.95.
To test this we can do
# specify parameters
N <- 20
mu <- 0
std <- 1
# produce a good number (10,000) of population means
set.seed(1)
r <- replicate(1e4, mean(rnorm(N, mu, std)))
# calculate confidence interval
ci <- z(N, mu, std)
# find which are below, within and above the interval
rc <- cut(r, c(min(r), ci, max(r)), c("below", "within", "above"))
# create a proportion table
round(prop.table(table(rc))*100, 2)
# below within above
# 2.59 95.08 2.33
answered Nov 23 '18 at 13:07
AkselAAkselA
4,32621225
4,32621225
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445602%2ftesting-confidence-intervals-in-r%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I can't make much sense of your
z()
function. Could you format it better/tidy it up?– AkselA
Nov 23 '18 at 11:16
@AkselA is that better?
– John Fitz
Nov 23 '18 at 11:22
It still looks like non-sense :). Have you written functions in R before?
– AkselA
Nov 23 '18 at 11:28
No I'm new to R. It generates the 1000 confidence intervals but how do I then test if the mean is contained in each confidence interval?
– John Fitz
Nov 23 '18 at 11:31
Confidence interval of what? Estimating the mean of a normal distribution?
– AkselA
Nov 23 '18 at 11:45