This function converts the detailed lists returned (when detail=TRUE) in the following functions:
and converts them into a dataset with meta data about players, points, games, and sets.
simDf(object)
When converting an object returned by simGames, simSets and simMatches, I recommend adding plyr’s progress bar, .progress = "text", to simDf as large number of simulations will take a while to convert to a dataset.
simDf(object, .progress = "time")
simGame and simGamesA look at the dataset returned by simGame and simGames, only small number of simulations
egGame <- simGame(p = .78, p2 = .56, firstServe = .67, detail = TRUE)
egGames <- simGames(n = 10, p = .78, p2 = .56, firstServe = .67)
egGame <- simDf(egGame)
head(egGame)
## player p p2 firstServe result server returner
## 1 A 0.78 0.56 0.67 0 2 4
egGames <- simDf(egGames)
head(egGames)
## simNo player p p2 firstServe result server returner
## 1 1 A 0.78 0.56 0.67 1 4 0
## 2 2 A 0.78 0.56 0.67 1 4 0
## 3 3 A 0.78 0.56 0.67 1 4 2
## 4 4 A 0.78 0.56 0.67 1 4 0
## 5 5 A 0.78 0.56 0.67 1 4 0
## 6 6 A 0.78 0.56 0.67 1 6 4
The variables in each dataset are effectively the same, except simGames dataset has a variable simNo to identify the unique simulations, a look at those variables:
| variables | about |
|---|---|
| simNo | simulation number |
| player | player name |
| p | probability of server winning a point on their first serve |
| p2 | probability of server winning a point on their second serve |
| firstServe | probability of first serve being in |
| result | game result (1 if server wins, 0 if returner wins) |
| server | number of points won by server in service game |
| returner | number of points won by returner in service game |
simSet and simSetsA look at the dataset returned by simSet and simSets, only a small number of simulations.
egSet <- simSet(pA = .78, pB = .70, p2A = .56, p2B = .6,
firstServeA = .67, firstServeB = .7, detail = TRUE)
egSets <- simSets(n = 10,
pA = .78, pB = .70, p2A = .56, p2B = .6,
firstServeA = .67, firstServeB = .7)
egSet <- simDf(egSet)
head(egSet)
## pA pB setA setB set_res gameNo serving p p2 firstServe game_res
## 1 A B 7 6 1 1 A 0.78 0.56 0.67 1
## 2 A B 7 6 1 2 B 0.70 0.60 0.70 1
## 3 A B 7 6 1 3 A 0.78 0.56 0.67 1
## 4 A B 7 6 1 4 B 0.70 0.60 0.70 1
## 5 A B 7 6 1 5 A 0.78 0.56 0.67 1
## 6 A B 7 6 1 6 B 0.70 0.60 0.70 1
## server returner
## 1 4 1
## 2 4 0
## 3 5 3
## 4 6 4
## 5 4 0
## 6 4 2
egSets <- simDf(egSets)
head(egSets)
## simNo pA pB setA setB set_res gameNo serving p p2 firstServe
## 1 1 A B 7 6 1 1 A 0.78 0.56 0.67
## 2 1 A B 7 6 1 2 B 0.70 0.60 0.70
## 3 1 A B 7 6 1 3 A 0.78 0.56 0.67
## 4 1 A B 7 6 1 4 B 0.70 0.60 0.70
## 5 1 A B 7 6 1 5 A 0.78 0.56 0.67
## 6 1 A B 7 6 1 6 B 0.70 0.60 0.70
## game_res server returner
## 1 1 4 2
## 2 1 5 3
## 3 1 4 1
## 4 1 4 1
## 5 1 5 3
## 6 1 4 1
The variables in each dataset are similar to those found in the returned datasets from simGame and simGames, a look at those variables:
| variables | about |
|---|---|
| simNo | simulation number |
| pA | player A |
| pB | player B |
| setA | games won by player A |
| setB | games won by player B |
| set_res | set result (1 if player A wins, 0 if player B wins) |
| gameNo | game number in set |
| serving | player serving |
| p | probability of server winning a point on their first serve |
| p2 | probability of server winning a point on their second serve |
| firstServe | probability of first serve being in |
| game_res | game result (1 if server wins, 0 if returner wins) |
| server | number of points won by server in service game |
| returner | number of points won by returner in service game |
simMatch and simMatchesA look at the dataset returned by simMatch and simMatches, only a small number of simulations.
egMatch <- simMatch(sets = 3, finalSetTiebreak = TRUE, detail = TRUE,
pA = .78, pB = .70,
p2A = .56, firstServeA = .67,
p2B = .6, firstServeB = .7)
egMatches <- simMatches(n = 10, sets = 3,
pA = .78, pB = .70,
p2A = .56, firstServeA = .67,
p2B = .6, firstServeB = .7)
egMatch <- simDf(egMatch)
head(egMatch)
## playerA playerB mA mB result setNo pA pB setA setB set_res gameNo
## 1 A B 1 2 0 1 A B 4 6 0 1
## 2 A B 1 2 0 1 A B 4 6 0 2
## 3 A B 1 2 0 1 A B 4 6 0 3
## 4 A B 1 2 0 1 A B 4 6 0 4
## 5 A B 1 2 0 1 A B 4 6 0 5
## 6 A B 1 2 0 1 A B 4 6 0 6
## serving p p2 firstServe game_res server returner
## 1 A 0.78 0.56 0.67 1 5 3
## 2 B 0.70 0.60 0.70 1 4 2
## 3 A 0.78 0.56 0.67 1 9 7
## 4 B 0.70 0.60 0.70 1 8 6
## 5 A 0.78 0.56 0.67 1 4 0
## 6 B 0.70 0.60 0.70 1 4 1
egMatches <- simDf(egMatches)
head(egMatches)
## simNo playerA playerB mA mB result setNo pA pB setA setB set_res gameNo
## 1 1 A B 0 2 0 1 A B 4 6 0 1
## 2 1 A B 0 2 0 1 A B 4 6 0 2
## 3 1 A B 0 2 0 1 A B 4 6 0 3
## 4 1 A B 0 2 0 1 A B 4 6 0 4
## 5 1 A B 0 2 0 1 A B 4 6 0 5
## 6 1 A B 0 2 0 1 A B 4 6 0 6
## serving p p2 firstServe game_res server returner
## 1 A 0.78 0.56 0.67 1 4 2
## 2 B 0.70 0.60 0.70 1 4 2
## 3 A 0.78 0.56 0.67 1 4 1
## 4 B 0.70 0.60 0.70 1 4 1
## 5 A 0.78 0.56 0.67 1 4 0
## 6 B 0.70 0.60 0.70 1 4 1
The variables in each dataset are similar to those found in the returned datasets from simSet, simSets, simGame and simGames, a look at those variables:
| variables | about |
|---|---|
| simNo | simulation number |
| playerA | player A (who started the match serving) |
| playerB | player B (who started the match returning) |
| mA | sets won by player A |
| mB | sets won by player B |
| result | match result, (1 if player A wins, 0 otherwise) |
| setNo | set number |
| pA | player A (who started the set serving) |
| pB | player B (who started the set returning) |
| setA | games won by player A |
| setB | games won by player B |
| set_res | set result (1 if player A wins, 0 if player B wins) |
| gameNo | game number in set |
| serving | player serving |
| p | probability of server winning a point on their first serve |
| p2 | probability of server winning a point on their second serve |
| firstServe | probability of first serve being in |
| game_res | game result (1 if server wins, 0 if returner wins) |
| server | number of points won by server in service game |
| returner | number of points won by returner in service game |