高爾夫杆數機率計算

場景

    • 高爾夫杆數統計如下:

問題

    • 求算樣本標準差。

    • 求算樣本在 3 杆區間內之機率。

解答

GNU R

# Sampling Distibution SamplingDistributionMean <- function(populationMean) { myMean <- populationMean myMean } SamplingDistributionStdDeviation <- function(populationStdDeviation, sampleSize) { myStdDeviation <- populationStdDeviation / sqrt(sampleSize) myStdDeviation } SamplingDistributionStdDeviationInFinitePopulation <- function(populationSize, populationStdDeviation, sampleSize) { myStdDeviation <- sqrt((populationSize - sampleSize) / (populationSize - 1)) * (populationStdDeviation / sqrt(sampleSize)) myStdDeviation } # 常態分配區間機率 NormalDistributionRangedProbaibility <- function(stdDeviation, m, n) { realBigger <- m if (m < n) { realBigger <- n n <- m m <- realBigger } z2 <- m / stdDeviation p2 <- pnorm(z2) z1 <- n / stdDeviation p1 <- pnorm(z1) myProbability <- p2 - p1 myProbability } NormalDistributionRangedProbaibility2 <- function(stdDeviation, valueRange) { z2 <- valueRange / stdDeviation p2 <- pnorm(z2) z1 <- (-1 * valueRange) / stdDeviation p1 <- pnorm(z1) myProbability <- p2 - p1 myProbability } ############################################################################################################################ populationMean <- c(95, 106) populationStdDeviation <- c(14, 14) sampleSize <- c(30, 45) sampleValueRange <- 3 sampleStdDeviation <- vector(mode="double", 2) sampleRangeProbability <- vector(mode="double", 2) sampleObjectName <- c("男性", "女性") for (mySampleObject in c(1:2)) { myStdDeviation <- SamplingDistributionStdDeviation(populationStdDeviation[mySampleObject], sampleSize[mySampleObject]) myProbability <- NormalDistributionRangedProbaibility2(myStdDeviation, sampleValueRange) print(sprintf("%s 機率(區間=%d)=%0.3f 平均數=%3d 標準差=%3.4f", sampleObjectName[mySampleObject], sampleValueRange, myProbability, populationMean[mySampleObject], myStdDeviation)) }