Week 6: R Programming Language - Faith

5.4.3

  1. Basic Arithmetic Operations (a) Calculate the sum of 123 and 456.

    1. Subtract 100 from 450.
    2. Multiply 25 by 4.
    3. Divide 144 by 12.
    4. Raise 2 to the power of 8.
```r
123+456
```
```
[1] 579
```
```r
450-100
```
```
[1] 350
```
```r
4*25
```
```
[1] 100
```
```r
144/12
```
```
[1] 12
```
```r
2^8
```
```
[1] 256
```
2\. **Complex Mathematical Functions** (a) Calculate the natural logarithm of 20.

(b) Find the base 10 logarithm of 1000.
(c) Compute the square root of 121.
(d) Calculate the cosine of 0 radians.
(e) Determine the sine of π/2 radians.
```r
log(20)
```
```
[1] 2.995732
```
```r
log10(1000)
```
```
[1] 3
```
```r
sqrt(121)
```
```
[1] 11
```
```r
cos(0)
```
```
[1] 1
```
```r
sin(pi/2)
```
```
[1] 1
```
  1. Statistical Functions
    (a) Calculate the mean of the following set of numbers: 1, 3, 5, 7, 9.
  1. Find the median of the following set of numbers: 2, 4, 6, 8, 10.
  2. Compute the standard deviation of the following set of numbers: 2, 4, 4, 4, 5, 5, 7, 9.
mean(c(1,3,5,7,9))
[1] 5
median(c(2,4,6,8,10))
[1] 6
sd(c(2,4,4,4,5,5,7,9))
[1] 2.13809

5.5.5

  1. Use the ? function to access the help page for the mean function. List three arguments that the mean function can take.
```r
?mean
#x  an R object. Currently there are methods for numeric/logical vectors and date, date-time and time interval objects. Complex vectors are allowed for trim = 0, only. trim    the fraction (0 to 0.5) of observations to be trimmed from each end of x before the mean is computed. Values of trim outside that range are taken as the nearest endpoint. na.rm    a logical evaluating to TRUE or FALSE indicating whether NA values should be stripped before the computation proceeds. ...  further arguments passed to or from other methods.
```
  1. Find the documentation for the lm (linear model) function. What is the purpose of the data argument in this function?
?lm
  1. Access the help page for the function runif. Use this function to generate 25 random numbers between 2 and 3.
?runif
runif(25,min=2,max=3)
 [1] 2.885416 2.707108 2.720336 2.382729 2.804896 2.625559 2.325735 2.695798
 [9] 2.728919 2.775832 2.603360 2.575176 2.792403 2.374635 2.217816 2.868668
[17] 2.444622 2.905607 2.510596 2.845542 2.861290 2.834786 2.085110 2.349403
[25] 2.053496

5.8.8

1. Create a numeric vector containing any five decimal numbers.

2. Convert the numeric vector created in Exercise 1 to an integer vector.

  1. Create a complex number and assign it to a variable. And the print it.
```r
p <- 7 -2i
p
```
```
[1] 7-2i
```

4. Create a character vector containing the names of three different colors.

name <- "Red"
greeting <- "Blue"
age <- "Green"

5. Generate a logical vector of length 5, containing alternating TRUE and FALSE values.

j <- c(1, 2, 3, 4, 5)
j[c(TRUE, FALSE, TRUE, FALSE, TRUE)]

6. Create a factor with three levels representing different temperature ranges: “Low”, “Medium”, and “High”.

temp_vector <- c("low","medium","high")
factor(temp_vector)

7. Add a missing value to the numeric vector from Exercise 1 and demonstrate how to identify which elements are missing.

8. Replace the missing values in the vector from Exercise 7 with the variance of the other elements in the vector.

data <- c(10.2,1.7,9.5,4.3,2.2,NA)
missing_values <- is.na(data)
data[is.na(data)] <- mean(data, na.rm = TRUE)
data

5.9.7

1. Create a numeric vector containing the numbers 5 to 15.

t<-5:15
t

2. Create a character vector with the names of three fruits of your choice.

characters <- c("pineapple", "blueberry", "mango")

3. Combine the two vectors you created above into a single vector. What happens?

t<-5:15
characters <- c("pineapple", "blueberry", "mango")
s<-c(t,characters)
s

4. Use the seq() function to create a vector of numbers from 1 to 10, with steps of 0.5

f<-seq(1,10,by=0.5)
f

5. Access the third element from the numeric vector you created in the first exercise.

t<-5:15
third_number <- numbers[3]
t(third_number)

Create a new vector that contains only the first and last elements of the numeric vector from Exercise 1.

t<-5:15
some_numbers <- numbers[c(1, 3)]
t(some_numbers)
v<-c(1,3)

5.10.4

1.Use the abs() function to find the absolute value of -10

abs(-10)

2. Use the sqrt() function to calculate the square root of 16

sqrt(16)

3. Use the toupper() function to convert the string “hello world”to uppercase

toupper("hello world")

4. Use the mean() function to calculate the average of the numbers 4, 8, 15, 16, 23, 42

mean(c(4, 8, 15, 16, 23, 42))

5. Use the round() function to round 3.14159 to 3 decimal places.

round(3.14159,digits=3)

6. Write a function named is_even that takes a single integer as input and returns TRUE if the number is even, and FALSE otherwise.

is_even <- (numbers %% 2) == 0

7. Write a function named convert_to_celsius that takes a temperature in Fahrenheit as input and returns the temperature in Celsius.

convert_to_celsius<-function(x){
  x<-(5/9)*(x-32)
  return(x)
}

8. Write a function named calculate_area that takes the radius of a circle as input and returns the area of the circle. Use π from the pi constant in R.

calculate_area <- function(r)
  pi * r^2
LS0tCnRpdGxlOiAiV2VlayA2OiBSIFByb2dyYW1taW5nIExhbmd1YWdlIC0gRmFpdGgiCgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIFdlZWsgNjogUiBQcm9ncmFtbWluZyBMYW5ndWFnZSAtIEZhaXRoCgo1LjQuMwoKMS4gICoqQmFzaWMgQXJpdGhtZXRpYyBPcGVyYXRpb25zKiogKGEpIENhbGN1bGF0ZSB0aGUgc3VtIG9mIDEyMyBhbmQgNDU2LgoKICAgIChiKSBTdWJ0cmFjdCAxMDAgZnJvbSA0NTAuCiAgICAoYykgTXVsdGlwbHkgMjUgYnkgNC4KICAgIChkKSBEaXZpZGUgMTQ0IGJ5IDEyLgogICAgKGUpIFJhaXNlIDIgdG8gdGhlIHBvd2VyIG9mIDguCgogICAgYGBge3J9CiAgICAxMjMrNDU2CiAgICA0NTAtMTAwCiAgICA0KjI1CiAgICAxNDQvMTIKICAgIDJeOAogICAgYGBgCgogICAgMlwuICoqQ29tcGxleCBNYXRoZW1hdGljYWwgRnVuY3Rpb25zKiogKGEpIENhbGN1bGF0ZSB0aGUgbmF0dXJhbCBsb2dhcml0aG0gb2YgMjAuCgogICAgKGIpIEZpbmQgdGhlIGJhc2UgMTAgbG9nYXJpdGhtIG9mIDEwMDAuCiAgICAoYykgQ29tcHV0ZSB0aGUgc3F1YXJlIHJvb3Qgb2YgMTIxLgogICAgKGQpIENhbGN1bGF0ZSB0aGUgY29zaW5lIG9mIDAgcmFkaWFucy4KICAgIChlKSBEZXRlcm1pbmUgdGhlIHNpbmUgb2Ygz4AvMiByYWRpYW5zLgoKICAgIGBgYHtyfQogICAgbG9nKDIwKQogICAgbG9nMTAoMTAwMCkKICAgIHNxcnQoMTIxKQogICAgY29zKDApCiAgICBzaW4ocGkvMikKICAgIGBgYAoKMi4gICoqU3RhdGlzdGljYWwgRnVuY3Rpb25zXAogICAgKiogKGEpIENhbGN1bGF0ZSB0aGUgbWVhbiBvZiB0aGUgZm9sbG93aW5nIHNldCBvZiBudW1iZXJzOiAxLCAzLCA1LCA3LCA5LgoKPCEtLSAtLT4KCihiKSBGaW5kIHRoZSBtZWRpYW4gb2YgdGhlIGZvbGxvd2luZyBzZXQgb2YgbnVtYmVyczogMiwgNCwgNiwgOCwgMTAuCihjKSBDb21wdXRlIHRoZSBzdGFuZGFyZCBkZXZpYXRpb24gb2YgdGhlIGZvbGxvd2luZyBzZXQgb2YgbnVtYmVyczogMiwgNCwgNCwgNCwgNSwgNSwgNywgOS4KCmBgYHtyfQptZWFuKGMoMSwzLDUsNyw5KSkKbWVkaWFuKGMoMiw0LDYsOCwxMCkpCnNkKGMoMiw0LDQsNCw1LDUsNyw5KSkKYGBgCgo1LjUuNQoKMS4gIFVzZSB0aGUgPyBmdW5jdGlvbiB0byBhY2Nlc3MgdGhlIGhlbHAgcGFnZSBmb3IgdGhlIG1lYW4gZnVuY3Rpb24uIExpc3QgdGhyZWUgYXJndW1lbnRzIHRoYXQgdGhlIG1lYW4gZnVuY3Rpb24gY2FuIHRha2UuCgogICAgYGBge3J9CiAgICA/bWVhbgogICAgI3gJYW4gUiBvYmplY3QuIEN1cnJlbnRseSB0aGVyZSBhcmUgbWV0aG9kcyBmb3IgbnVtZXJpYy9sb2dpY2FsIHZlY3RvcnMgYW5kIGRhdGUsIGRhdGUtdGltZSBhbmQgdGltZSBpbnRlcnZhbCBvYmplY3RzLiBDb21wbGV4IHZlY3RvcnMgYXJlIGFsbG93ZWQgZm9yIHRyaW0gPSAwLCBvbmx5LiB0cmltCXRoZSBmcmFjdGlvbiAoMCB0byAwLjUpIG9mIG9ic2VydmF0aW9ucyB0byBiZSB0cmltbWVkIGZyb20gZWFjaCBlbmQgb2YgeCBiZWZvcmUgdGhlIG1lYW4gaXMgY29tcHV0ZWQuIFZhbHVlcyBvZiB0cmltIG91dHNpZGUgdGhhdCByYW5nZSBhcmUgdGFrZW4gYXMgdGhlIG5lYXJlc3QgZW5kcG9pbnQuIG5hLnJtCWEgbG9naWNhbCBldmFsdWF0aW5nIHRvIFRSVUUgb3IgRkFMU0UgaW5kaWNhdGluZyB3aGV0aGVyIE5BIHZhbHVlcyBzaG91bGQgYmUgc3RyaXBwZWQgYmVmb3JlIHRoZSBjb21wdXRhdGlvbiBwcm9jZWVkcy4gLi4uCWZ1cnRoZXIgYXJndW1lbnRzIHBhc3NlZCB0byBvciBmcm9tIG90aGVyIG1ldGhvZHMuCiAgICBgYGAKCjIuICBGaW5kIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgbG0gKGxpbmVhciBtb2RlbCkgZnVuY3Rpb24uIFdoYXQgaXMgdGhlIHB1cnBvc2Ugb2YgdGhlIGRhdGEgYXJndW1lbnQgaW4gdGhpcyBmdW5jdGlvbj8KCmBgYHtyfQo/bG0KI2xtIGlzIHVzZWQgdG8gZml0IGxpbmVhciBtb2RlbHMsIGluY2x1ZGluZyBtdWx0aXZhcmlhdGUgb25lcy4gSXQgY2FuIGJlIHVzZWQgdG8gY2Fycnkgb3V0IHJlZ3Jlc3Npb24sIHNpbmdsZSBzdHJhdHVtIGFuYWx5c2lzIG9mIHZhcmlhbmNlIGFuZCBhbmFseXNpcyBvZiBjb3ZhcmlhbmNlIChhbHRob3VnaCBhb3YgbWF5IHByb3ZpZGUgYSBtb3JlIGNvbnZlbmllbnQgaW50ZXJmYWNlIGZvciB0aGVzZSkuCmBgYAoKMy4gIEFjY2VzcyB0aGUgaGVscCBwYWdlIGZvciB0aGUgZnVuY3Rpb24gcnVuaWYuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIDI1IHJhbmRvbSBudW1iZXJzIGJldHdlZW4gMiBhbmQgMy4KCmBgYHtyfQo/cnVuaWYKcnVuaWYoMjUsbWluPTIsbWF4PTMpCmBgYAoKNS44LjgKCjFcLiBDcmVhdGUgYSBudW1lcmljIHZlY3RvciBjb250YWluaW5nIGFueSBmaXZlIGRlY2ltYWwgbnVtYmVycy4KCjJcLiBDb252ZXJ0IHRoZSBudW1lcmljIHZlY3RvciBjcmVhdGVkIGluIEV4ZXJjaXNlIDEgdG8gYW4gaW50ZWdlciB2ZWN0b3IuCgpgYGB7cn0KYmVzdHZlY3RvciA8LSBjKDEwLjIsMS43LDkuNSw0LjMsMi4yKQpiZXN0dmVjdG9yIDwtIDFMCmBgYAoKMy4gIENyZWF0ZSBhIGNvbXBsZXggbnVtYmVyIGFuZCBhc3NpZ24gaXQgdG8gYSB2YXJpYWJsZS4gQW5kIHRoZSBwcmludCBpdC4KCiAgICBgYGB7cn0KICAgIHAgPC0gNyAtMmkKICAgIHAKICAgIGBgYAoKNFwuIENyZWF0ZSBhIGNoYXJhY3RlciB2ZWN0b3IgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgdGhyZWUgZGlmZmVyZW50IGNvbG9ycy5cCgpgYGB7cn0KbmFtZSA8LSAiUmVkIgpncmVldGluZyA8LSAiQmx1ZSIKYWdlIDwtICJHcmVlbiIKYGBgCgo1XC4gR2VuZXJhdGUgYSBsb2dpY2FsIHZlY3RvciBvZiBsZW5ndGggNSwgY29udGFpbmluZyBhbHRlcm5hdGluZyBUUlVFIGFuZCBGQUxTRSB2YWx1ZXMuCgpgYGB7cn0KaiA8LSBjKDEsIDIsIDMsIDQsIDUpCmpbYyhUUlVFLCBGQUxTRSwgVFJVRSwgRkFMU0UsIFRSVUUpXQpgYGAKCjZcLiBDcmVhdGUgYSBmYWN0b3Igd2l0aCB0aHJlZSBsZXZlbHMgcmVwcmVzZW50aW5nIGRpZmZlcmVudCB0ZW1wZXJhdHVyZSByYW5nZXM6IOKAnExvd+KAnSwg4oCcTWVkaXVt4oCdLCBhbmQg4oCcSGlnaOKAnS4KCmBgYHtyfQp0ZW1wX3ZlY3RvciA8LSBjKCJsb3ciLCJtZWRpdW0iLCJoaWdoIikKZmFjdG9yKHRlbXBfdmVjdG9yKQpgYGAKCjdcLiBBZGQgYSBtaXNzaW5nIHZhbHVlIHRvIHRoZSBudW1lcmljIHZlY3RvciBmcm9tIEV4ZXJjaXNlIDEgYW5kIGRlbW9uc3RyYXRlIGhvdyB0byBpZGVudGlmeSB3aGljaCBlbGVtZW50cyBhcmUgbWlzc2luZy4KCjhcLiBSZXBsYWNlIHRoZSBtaXNzaW5nIHZhbHVlcyBpbiB0aGUgdmVjdG9yIGZyb20gRXhlcmNpc2UgNyB3aXRoIHRoZSB2YXJpYW5jZSBvZiB0aGUgb3RoZXIgZWxlbWVudHMgaW4gdGhlIHZlY3Rvci4KCmBgYHtyfQpkYXRhIDwtIGMoMTAuMiwxLjcsOS41LDQuMywyLjIsTkEpCm1pc3NpbmdfdmFsdWVzIDwtIGlzLm5hKGRhdGEpCmRhdGFbaXMubmEoZGF0YSldIDwtIG1lYW4oZGF0YSwgbmEucm0gPSBUUlVFKQpkYXRhCmBgYAoKNS45LjcKCjFcLiBDcmVhdGUgYSBudW1lcmljIHZlY3RvciBjb250YWluaW5nIHRoZSBudW1iZXJzIDUgdG8gMTUuCgpgYGB7cn0KdDwtNToxNQp0CmBgYAoKMlwuIENyZWF0ZSBhIGNoYXJhY3RlciB2ZWN0b3Igd2l0aCB0aGUgbmFtZXMgb2YgdGhyZWUgZnJ1aXRzIG9mIHlvdXIgY2hvaWNlLgoKYGBge3J9CmNoYXJhY3RlcnMgPC0gYygicGluZWFwcGxlIiwgImJsdWViZXJyeSIsICJtYW5nbyIpCmBgYAoKM1wuIENvbWJpbmUgdGhlIHR3byB2ZWN0b3JzIHlvdSBjcmVhdGVkIGFib3ZlIGludG8gYSBzaW5nbGUgdmVjdG9yLiBXaGF0IGhhcHBlbnM/CgpgYGB7cn0KdDwtNToxNQpjaGFyYWN0ZXJzIDwtIGMoInBpbmVhcHBsZSIsICJibHVlYmVycnkiLCAibWFuZ28iKQpzPC1jKHQsY2hhcmFjdGVycykKcwpgYGAKCjRcLiBVc2UgdGhlIHNlcSgpIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIHZlY3RvciBvZiBudW1iZXJzIGZyb20gMSB0byAxMCwgd2l0aCBzdGVwcyBvZiAwLjUKCmBgYHtyfQpmPC1zZXEoMSwxMCxieT0wLjUpCmYKYGBgCgo1XC4gQWNjZXNzIHRoZSB0aGlyZCBlbGVtZW50IGZyb20gdGhlIG51bWVyaWMgdmVjdG9yIHlvdSBjcmVhdGVkIGluIHRoZSBmaXJzdCBleGVyY2lzZS4KCmBgYHtyfQp0PC01OjE1CnRoaXJkX251bWJlciA8LSBudW1iZXJzWzNdCnQodGhpcmRfbnVtYmVyKQpgYGAKCkNyZWF0ZSBhIG5ldyB2ZWN0b3IgdGhhdCBjb250YWlucyBvbmx5IHRoZSBmaXJzdCBhbmQgbGFzdCBlbGVtZW50cyBvZiB0aGUgbnVtZXJpYyB2ZWN0b3IgZnJvbSBFeGVyY2lzZSAxLgoKYGBge3J9CnQ8LTU6MTUKc29tZV9udW1iZXJzIDwtIG51bWJlcnNbYygxLCAzKV0KdChzb21lX251bWJlcnMpCnY8LWMoMSwzKQpgYGAKCjUuMTAuNAoKMS5Vc2UgdGhlIGFicygpIGZ1bmN0aW9uIHRvIGZpbmQgdGhlIGFic29sdXRlIHZhbHVlIG9mIC0xMAoKYGBge3J9CmFicygtMTApCmBgYAoKMlwuIFVzZSB0aGUgc3FydCgpIGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgc3F1YXJlIHJvb3Qgb2YgMTYKCmBgYHtyfQpzcXJ0KDE2KQpgYGAKCjNcLiBVc2UgdGhlIHRvdXBwZXIoKSBmdW5jdGlvbiB0byBjb252ZXJ0IHRoZSBzdHJpbmcg4oCcaGVsbG8gd29ybGTigJ10byB1cHBlcmNhc2UKCmBgYHtyfQp0b3VwcGVyKCJoZWxsbyB3b3JsZCIpCmBgYAoKNFwuIFVzZSB0aGUgbWVhbigpIGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgYXZlcmFnZSBvZiB0aGUgbnVtYmVycyA0LCA4LCAxNSwgMTYsIDIzLCA0MgoKYGBge3J9Cm1lYW4oYyg0LCA4LCAxNSwgMTYsIDIzLCA0MikpCmBgYAoKNVwuIFVzZSB0aGUgcm91bmQoKSBmdW5jdGlvbiB0byByb3VuZCAzLjE0MTU5IHRvIDMgZGVjaW1hbCBwbGFjZXMuCgpgYGB7cn0Kcm91bmQoMy4xNDE1OSxkaWdpdHM9MykKYGBgCgo2XC4gV3JpdGUgYSBmdW5jdGlvbiBuYW1lZCBpc19ldmVuIHRoYXQgdGFrZXMgYSBzaW5nbGUgaW50ZWdlciBhcyBpbnB1dCBhbmQgcmV0dXJucyBUUlVFIGlmIHRoZSBudW1iZXIgaXMgZXZlbiwgYW5kIEZBTFNFIG90aGVyd2lzZS4KCmBgYHtyfQppc19ldmVuIDwtIChudW1iZXJzICUlIDIpID09IDAKYGBgCgo3XC4gV3JpdGUgYSBmdW5jdGlvbiBuYW1lZCBjb252ZXJ0X3RvX2NlbHNpdXMgdGhhdCB0YWtlcyBhIHRlbXBlcmF0dXJlIGluIEZhaHJlbmhlaXQgYXMgaW5wdXQgYW5kIHJldHVybnMgdGhlIHRlbXBlcmF0dXJlIGluIENlbHNpdXMuCgpgYGB7cn0KY29udmVydF90b19jZWxzaXVzPC1mdW5jdGlvbih4KXsKICB4PC0oNS85KSooeC0zMikKICByZXR1cm4oeCkKfQpgYGAKCjhcLiBXcml0ZSBhIGZ1bmN0aW9uIG5hbWVkIGNhbGN1bGF0ZV9hcmVhIHRoYXQgdGFrZXMgdGhlIHJhZGl1cyBvZiBhIGNpcmNsZSBhcyBpbnB1dCBhbmQgcmV0dXJucyB0aGUgYXJlYSBvZiB0aGUgY2lyY2xlLiBVc2Ugz4AgZnJvbSB0aGUgcGkgY29uc3RhbnQgaW4gUi4KCmBgYHtyfQpjYWxjdWxhdGVfYXJlYSA8LSBmdW5jdGlvbihyKQogIHBpICogcl4yCmBgYAo=