library(tidyverse)
library(openintro)

Exercise 1

Use the intrinsic R functions sd() and mean() to define a CV() function. Give your function the default parameter name=“coefficient of variation”, and provide for ellipsis parameters. Test your function against data with a known outcome, e.g simulated exponential data

cv <- function(x) {
  return (sd (x) / mean (x))
}

cv <- function(x, name="coefficent of variation") {
  cd <- sd(x)/mean(x)
  names(cd) <- name
  return( cd )
}

cv(rexp(1000, rate=2), name="is this value close to 1.0?")
## is this value close to 1.0? 
##                     1.00011

Exercise 2

Test the function with a canned dataset, e.g. LakeHuron or sunspot.month. Use the name parameter to label each estimate with a meaningful name (Use the R ? help feature to get descriptions.)

cv(LakeHuron)
## coefficent of variation 
##             0.002276838
cv(sunspot.month)
## coefficent of variation 
##               0.8491369

Exercise 3

Compare the CV’s for two uniform random samples, runif(1000, min=0, max=1) and runif(1000, min=0, max=10). Are they markedly different? If so, how?

cv(runif(1000, min=0, max=1))
## coefficent of variation 
##               0.5733517
cv(runif(1000, min=0, max=10))
## coefficent of variation 
##                0.589993

# The coefficient of variations are not significantly different being they are about 0.02 off from one another meaning their data is similar in the amount of varience from the mean.

Exercise 4

Compare the CV’s for two Gaussian random samples rnorm(1000, mean=10, sd=2) and rnorm(1000, mean=5, sd=2). Are they markedly different? If so, how?

cv(rnorm(1000, mean=10, sd=2))
## coefficent of variation 
##               0.1983145
cv(rnorm(1000, mean=5, sd=2))
## coefficent of variation 
##               0.3944462

# This set of data is markedly different as there is about a 0.2 difference between the coefficient of variations meaning that the second set of data has about 20% more deviation from the mean compared to the first set.

Exercise 5

Compare the CV’s for two gamma random samples, rgamma(1000, shape=3, rate=1) and rgamma(1000, shape=6, rate=1). Are they markedly different? If so, how?

cv(rgamma(1000, shape=3, rate=1))
## coefficent of variation 
##               0.5846537
cv(rgamma(1000, shape=6, rate=1))
## coefficent of variation 
##                0.406903

# The difference in the sets of data is markedly different as the first set shows an 18% more deviation from the mean compared to the second set of data.

LS0tCnRpdGxlOiAiWW91ciBUdXJuIgphdXRob3I6ICJJc2FpYWggV2Fsa2VyIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDogb3BlbmludHJvOjpsYWJfcmVwb3J0Ci0tLQoKYGBge3IgbG9hZC1wYWNrYWdlcywgbWVzc2FnZT1GQUxTRX0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkob3BlbmludHJvKQpgYGAKCiMjIyBFeGVyY2lzZSAxCgpVc2UgdGhlIGludHJpbnNpYyBSIGZ1bmN0aW9ucyBzZCgpIGFuZCBtZWFuKCkgdG8gZGVmaW5lIGEgQ1YoKSBmdW5jdGlvbi4gR2l2ZSB5b3VyIGZ1bmN0aW9uIHRoZSBkZWZhdWx0IHBhcmFtZXRlciBuYW1lPSJjb2VmZmljaWVudCBvZiB2YXJpYXRpb24iLCBhbmQgcHJvdmlkZSBmb3IgZWxsaXBzaXMgcGFyYW1ldGVycy4gVGVzdCB5b3VyIGZ1bmN0aW9uIGFnYWluc3QgZGF0YSB3aXRoIGEga25vd24gb3V0Y29tZSwgZS5nIHNpbXVsYXRlZCBleHBvbmVudGlhbCBkYXRhCgpgYGB7ciBjb2RlLWNodW5rLWxhYmVsfQpjdiA8LSBmdW5jdGlvbih4KSB7CiAgcmV0dXJuIChzZCAoeCkgLyBtZWFuICh4KSkKfQoKY3YgPC0gZnVuY3Rpb24oeCwgbmFtZT0iY29lZmZpY2VudCBvZiB2YXJpYXRpb24iKSB7CiAgY2QgPC0gc2QoeCkvbWVhbih4KQogIG5hbWVzKGNkKSA8LSBuYW1lCiAgcmV0dXJuKCBjZCApCn0KCmN2KHJleHAoMTAwMCwgcmF0ZT0yKSwgbmFtZT0iaXMgdGhpcyB2YWx1ZSBjbG9zZSB0byAxLjA/IikKYGBgCgojIyMgRXhlcmNpc2UgMgoKVGVzdCB0aGUgZnVuY3Rpb24gd2l0aCBhIGNhbm5lZCBkYXRhc2V0LCBlLmcuIExha2VIdXJvbiBvciBzdW5zcG90Lm1vbnRoLiBVc2UgdGhlIG5hbWUgcGFyYW1ldGVyIHRvIGxhYmVsIGVhY2ggZXN0aW1hdGUgd2l0aCBhIG1lYW5pbmdmdWwgbmFtZSAoVXNlIHRoZSBSID8gaGVscCBmZWF0dXJlIHRvIGdldCBkZXNjcmlwdGlvbnMuKQoKYGBge3J9CmN2KExha2VIdXJvbikKCmN2KHN1bnNwb3QubW9udGgpCgpgYGAKCiMjIyBFeGVyY2lzZSAzCgpDb21wYXJlIHRoZSBDVuKAmXMgZm9yIHR3byB1bmlmb3JtIHJhbmRvbSBzYW1wbGVzLCBydW5pZigxMDAwLCBtaW49MCwgbWF4PTEpIGFuZCBydW5pZigxMDAwLCBtaW49MCwgbWF4PTEwKS4gQXJlIHRoZXkgbWFya2VkbHkgZGlmZmVyZW50PyBJZiBzbywgaG93PwoKYGBge3J9CmN2KHJ1bmlmKDEwMDAsIG1pbj0wLCBtYXg9MSkpCgpjdihydW5pZigxMDAwLCBtaW49MCwgbWF4PTEwKSkKYGBgCiAjIFRoZSBjb2VmZmljaWVudCBvZiB2YXJpYXRpb25zIGFyZSBub3Qgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgYmVpbmcgdGhleSBhcmUgYWJvdXQgMC4wMiBvZmYgZnJvbSBvbmUgYW5vdGhlciBtZWFuaW5nIHRoZWlyIGRhdGEgaXMgc2ltaWxhciBpbiB0aGUgYW1vdW50IG9mIHZhcmllbmNlIGZyb20gdGhlIG1lYW4uIAoKIyMjIEV4ZXJjaXNlIDQKCkNvbXBhcmUgdGhlIENW4oCZcyBmb3IgdHdvIEdhdXNzaWFuIHJhbmRvbSBzYW1wbGVzIHJub3JtKDEwMDAsIG1lYW49MTAsIHNkPTIpIGFuZCBybm9ybSgxMDAwLCBtZWFuPTUsIHNkPTIpLiBBcmUgdGhleSBtYXJrZWRseSBkaWZmZXJlbnQ/IElmIHNvLCBob3c/CgpgYGB7cn0KY3Yocm5vcm0oMTAwMCwgbWVhbj0xMCwgc2Q9MikpCgpjdihybm9ybSgxMDAwLCBtZWFuPTUsIHNkPTIpKQpgYGAKICMgVGhpcyBzZXQgb2YgZGF0YSBpcyBtYXJrZWRseSBkaWZmZXJlbnQgYXMgdGhlcmUgaXMgYWJvdXQgYSAwLjIgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBjb2VmZmljaWVudCBvZiB2YXJpYXRpb25zIG1lYW5pbmcgdGhhdCB0aGUgc2Vjb25kIHNldCBvZiBkYXRhIGhhcyBhYm91dCAyMCUgbW9yZSBkZXZpYXRpb24gZnJvbSB0aGUgbWVhbiBjb21wYXJlZCB0byB0aGUgZmlyc3Qgc2V0LiAKIAojIyMgRXhlcmNpc2UgNQoKQ29tcGFyZSB0aGUgQ1bigJlzIGZvciB0d28gZ2FtbWEgcmFuZG9tIHNhbXBsZXMsIHJnYW1tYSgxMDAwLCBzaGFwZT0zLCByYXRlPTEpIGFuZCByZ2FtbWEoMTAwMCwgc2hhcGU9NiwgcmF0ZT0xKS4gQXJlIHRoZXkgbWFya2VkbHkgZGlmZmVyZW50PyBJZiBzbywgaG93PwoKYGBge3J9CmN2KHJnYW1tYSgxMDAwLCBzaGFwZT0zLCByYXRlPTEpKQoKY3YocmdhbW1hKDEwMDAsIHNoYXBlPTYsIHJhdGU9MSkpCmBgYAogIyBUaGUgZGlmZmVyZW5jZSBpbiB0aGUgc2V0cyBvZiBkYXRhIGlzIG1hcmtlZGx5IGRpZmZlcmVudCBhcyB0aGUgZmlyc3Qgc2V0IHNob3dzIGFuIDE4JSBtb3JlIGRldmlhdGlvbiBmcm9tIHRoZSBtZWFuIGNvbXBhcmVkIHRvIHRoZSBzZWNvbmQgc2V0IG9mIGRhdGEuIAo=