Week 6: R Programming Language - Faith
5.4.3
Basic Arithmetic Operations (a) Calculate the
sum of 123 and 456.
- Subtract 100 from 450.
- Multiply 25 by 4.
- Divide 144 by 12.
- 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
```
- Statistical Functions
(a) Calculate the mean of the following set of numbers: 1, 3,
5, 7, 9.
- Find the median of the following set of numbers: 2, 4, 6, 8,
10.
- 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
- 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.
```
- Find the documentation for the lm (linear model) function. What is
the purpose of the data argument in this function?
?lm
- 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.
- 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=