R Tutorial: Monty Hall
Key Takeaways
The Monty Hall problem is solved using R programming to simulate the probability of winning with different strategies, specifically sticking with the initial choice or switching to the remaining door. The solution involves handling array indexing to determine which door the host should reveal.
Full Transcript
another well-known probability puzzle is Monty Hall which is named after the host of a game show called let's make a deal in this puzzle a contestant is shown three doors behind one of the doors is a prize and the other doors contain no prize historically the prize was a car and the non prizes were goats the game begins with the contestant picking a door supposed that the contestant has chosen door number one the host Monty Hall then opens one of the other doors that does not contain the price the contestant has a choice to stick or switch to stick means to stay with the original choice here door number one and two switch means to choose the remaining door here door number three which strategy gives the greatest probability of winning the prize and what are the probabilities with each strategy a common misconception is that sticking or switching both give a 50/50 chance of winning since there are only two remaining doors in this puzzle we will write code to simulate both strategies to demonstrate the true win probability in each case to solve this problem we need to handle some art indexing specifically when determining which door the host should reveal consider the doors object which contains the values 1 2 & 3 to represent each door if the contestant chooses door number 1 and the prize is behind door number 2 then the only possible door that the host can reveal is door number 3 from a coding standpoint we must exclude doors 1 and 2 from the possibilities of doors to reveal we can do this by using a minus index with the C concatenate er to remove doors 1 & 2 as possibilities then the value of the reveal is only door number 3 note that in general we can reference elements of the doors object by supplying either an explicit numeric index or a variable name here we knew that door number one was the choice and door number two contained the prize so we could supply the numbers one and two in the reverse indexing in our exercises the prize door will be chosen randomly so it must be coded by a variable name that contains the value of the prize door rather than simply with number two as it was here in the previous slide the initial choice and the prize door were different leaving only one remaining door for the host to reveal since the host will only reveal a door with no price if the initial choice is the same as the prize door then there are two possible doors for the host to reveal in this case it must be random which can be done using the sample function what we want to sample is the doors object with the initial choice removed from it using the negative indexing strategy from the previous slide here the prize and initial choice were door number one but if it were random we would have to assign it a variable name and then access it using that name let's use these concepts to simulate our solution to the month
Original Description
Want to learn more? Take the full course at https://learn.datacamp.com/courses/probability-puzzles-in-r at your own pace. More than a video, you'll learn hands-on coding & quickly apply skills to your daily work.
---
Another well-known probability puzzle is Monty Hall, which is named after the host of a game show called Let's Make a Deal.
In this puzzle, a contestant is shown three doors. Behind one of the doors is a prize, and the other two doors contain no prize. Historically, the prize was a car and the non-prizes were goats. The game begins with the contestant picking a door. Suppose that the contestant has chosen Door number 1.
The host, Monty Hall, then opens one of the other doors that does not contain the prize. The contestant has a choice, to stick or switch? To stick means to stay with the original choice, here Door number 1, and to switch means to choose the remaining door, here Door number 3. Which strategy gives the greatest probability of winning the prize, and what are the probabilities with each strategy?
A common misconception is that sticking or switching both give a 50 50 chance of winning since there are only two remaining doors. In this puzzle, we will write code to simulate both strategies to demonstrate the true win probability in each case.
To solve this problem, we need to handle some R indexing, specifically when determining which door the host should reveal. Consider the doors object, which contains the values 1, 2, and 3, to represent each door.
If the contestant chooses door number 1, and the prize is behind door number 2, then the only possible door that the host can reveal is door number 3.
From a coding standpoint, we must exclude doors 1 and 2 from the possibilities of doors to reveal. We can do this by using a minus index with the c concatenator to remove doors 1 and 2 as possibilities. Then, the value of the reveal is only door number 3.
Note that, in general, we can reference elements of the doors object by supplying e
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from DataCamp · DataCamp · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SQL Server Tutorial: Date manipulation
DataCamp
R Tutorial: Intermediate Interactive Data Visualization with plotly in R
DataCamp
R Tutorial: Adding aesthetics to represent a variable
DataCamp
R Tutorial: Moving Beyond Simple Interactivity
DataCamp
Python Tutorial: Why use ML for marketing? Strategies and use cases
DataCamp
Python Tutorial: Preparation for modeling
DataCamp
Python Tutorial: Machine Learning modeling steps
DataCamp
R Tutorial: The prior model
DataCamp
R Tutorial: Data & the likelihood
DataCamp
R Tutorial: The posterior model
DataCamp
R Tutorial: An Introduction to plotly
DataCamp
R Tutorial: Plotting a single variable
DataCamp
R Tutorial: Bivariate graphics
DataCamp
Python Tutorial: Customer Segmentation in Python
DataCamp
Python Tutorial: Time cohorts
DataCamp
Python Tutorial: Calculate cohort metrics
DataCamp
Python Tutorial: Cohort analysis visualization
DataCamp
R Tutorial: Building Dashboards with flexdashboard
DataCamp
R Tutorial: Anatomy of a flexdashboard
DataCamp
R Tutorial: Layout basics
DataCamp
R Tutorial: Advanced layouts
DataCamp
Python Tutorial: Time Series Analysis in Python
DataCamp
Python Tutorial: Correlation of Two Time Series
DataCamp
Python Tutorial: Simple Linear Regressions
DataCamp
Python Tutorial: Autocorrelation
DataCamp
R Tutorial: The gapminder dataset
DataCamp
R Tutorial: The filter verb
DataCamp
R Tutorial: The arrange verb
DataCamp
R Tutorial: The mutate verb
DataCamp
R Tutorial: What is cluster analysis?
DataCamp
R Tutorial: Distance between two observations
DataCamp
R Tutorial: The importance of scale
DataCamp
R Tutorial: Measuring distance for categorical data
DataCamp
Python Tutorial: Plotting multiple graphs
DataCamp
Python Tutorial: Customizing axes
DataCamp
Python Tutorial: Legends, annotations, & styles
DataCamp
Python Tutorial: Introduction to iterators
DataCamp
Python Tutorial: Playing with iterators
DataCamp
Python Tutorial: Using iterators to load large files into memory
DataCamp
SQL Tutorial: Introduction to Relational Databases in SQL
DataCamp
SQL Tutorial: Tables: At the core of every database
DataCamp
SQL Tutorial: Update your database as the structure changes
DataCamp
Python Tutorial: Classification-Tree Learning
DataCamp
Python Tutorial: Decision-Tree for Classification
DataCamp
Python Tutorial: Decision-Tree for Regression
DataCamp
Python Tutorial: Census Subject Tables
DataCamp
Python Tutorial: Census Geography
DataCamp
Python Tutorial: Using the Census API
DataCamp
R Tutorial: A/B Testing in R
DataCamp
R Tutorial: Baseline Conversion Rates
DataCamp
R Tutorial: Designing an Experiment - Power Analysis
DataCamp
R Tutorial: Introduction to qualitative data
DataCamp
R Tutorial: Understanding your qualitative variables
DataCamp
R Tutorial: Making Better Plots
DataCamp
SQL Tutorial: OLTP and OLAP
DataCamp
SQL Tutorial: Storing data
DataCamp
SQL Tutorial: Database design
DataCamp
Python Tutorial: Introduction to spaCy
DataCamp
Python Tutorial: Statistical Models
DataCamp
Python Tutorial: Rule-based Matching
DataCamp
More on: ML Maths Basics
View skill →
🎓
Tutor Explanation
DeepCamp AI