Exercise 1 - Vector

Author

Muhammad Arfan

Exercise 1

  1. Create a numeric variable “num_var” with the value “42.5”.
num_var<- 42.5
  1. Create a character variable “char_var” with the value “R is fun!”.
char_var<- "R is fun!"
  1. Print the data type “char_var”.
class(char_var)
[1] "character"
  1. Create a list “student_info” with the following elements:
    1. name: Mohammad Nasir Abdullah
    2. age: 18
    3. grades: a numeric vector with values 99,100,89
student_info<- list(
  name= "Mohammad Nasir Abdullah",
  age= 18,
  grades= c(99,100,89)
)
  1. Create a data frame “df_student” with the following collumns.
    1. name: John, Pablo
    2. age: 22, 30
    3. grade: A, C
df_students<- data.frame(
  Name= c("John","Pablo"),
  Age= c(22,30),
  Grade= c("A","C")
)
  1. Create a numeric vector “vec_num” with the values 5,10,15,20.
vec_num<- c(5,10,15,20)
  1. Extract the second and third elements from “vec_num”.
vec_num[c(2,3)]
[1] 10 15
  1. Create a vector “vec_seq” that contains a sequence of number from 1 to 10.
vec_seq<- seq(1,10)
  1. Create a vector “vec_rand” with 5 random numbers between 1 to 100.
vec_rand<- sample(1:100, size= 5, replace= F)
  1. Create a character vector “vec_char” with the values apple, banana and cherry.
vec_char<- c("apple","banana","cherry")
  1. Use the substr() function to extract the first 3 characters from each elements of “vec_char”.
substr(vec_char,1,3)
[1] "app" "ban" "che"
  1. Create a character with “vec_colors” with the values red, blue, green, red, blue.
vec_colors<- c("red","blue","green","red","blue")
  1. Convert “vec_colors” into a factor vector “factor_colors”.
factor_colors<- as.factor(vec_colors)
  1. Print the levels of “factor_levels”.
levels(factor_colors)
[1] "blue"  "green" "red"  
  1. Given a numeric vector “vec_bonus = c(10,20,30,40,50)”, write a code snippet to:
    1. Extract all elements grater than 25.
    2. Calculate the mean of the extracted elements.
vec_bonus<- c(10,20,30,40,50)
mean(vec_bonus[vec_bonus>25])
[1] 40
  1. Given these vectors:
    weights<- c(55,68,72,61,58,75,64,70)
    names<- c(“Alice”,“Bob”,“Charlie”,“Daisy”,“Eve”,“Frank”,“Grace”,“Henry”)

    a. Identify the names of individuals whose weight is greater than 65kg.

    weights<- c(55,68,72,61,58,75,64,70)
    names<- c("Alice","Bob","Charlie","Daisy","Eve","Frank","Grace","Henry")
    names[weights>65]
    [1] "Bob"     "Charlie" "Frank"   "Henry"  

b. Find the average weight of individuals weighting less than or equal to 60kg.

mean(weights[weights<=60])
[1] 56.5

c. Extract the weights of individuals whose names start with the letter A or D.

weights[substr(names,1,1) %in% c("A","D")]
[1] 55 61

d. Determine the number of individuals whose weight is between 60kg and 70kg (inclusive).

sum(weights>=60 & weights<=70)
[1] 4

a. Identify the days when the temperature was below 20 celcius.

temperatures<- c(22,25,19,21,18,24,23)
days<- c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
days[temperatures<20]
[1] "Wednesday" "Friday"   

b. Calculate the difference between the highest and lowest temperatures of the week.

max(temperatures)-min(temperatures)
[1] 7

c. Determine the number of days when the temperature was between 20 celcius and 24 celcius (inclusive).

sum(temperatures>=20 & temperatures<=24)
[1] 4

a. Identify the students who scored above 90.

scores<- c(85,78,92,65,88,70,95,80,60,90)
students<- c("Anna","Ben","Cara","Dan","Ella","Finn","Grace","Hank","Ivy","J")
students[scores>90]
[1] "Cara"  "Grace"

b. Find the average score of students who scored below 80.

mean(scores[scores<80])
[1] 68.25

c. Extract the scores of students whose names start with a vowel.

scores[substr(students,1,1) %in% c("A","E","I","O","U")]
[1] 85 88 60

TAKE HOME EXERCISE

  1. Create a numeric vector containing the numbers from 10 to 20 and a character vector containing the days of the week. Display both.
num_vec<- c(10:20)
char_vec<- c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
num_vec
 [1] 10 11 12 13 14 15 16 17 18 19 20
char_vec
[1] "Monday"    "Tuesday"   "Wednesday" "Thursday"  "Friday"    "Saturday" 
[7] "Sunday"   
  1. a<- c(1,2,3) and b<- c(4,5,6), concatenate them to form a single vector.
a<- c(1,2,3)
b<- c(4,5,6)
c(a,b)
[1] 1 2 3 4 5 6
  1. temperatures<- c(15,18,20,22,19,17,16), extract the temperatures for the 2nd, 4th and 6th days.
temperatures<- c(15,18,20,22,19,17,16)
temperatures[c(2,4,6)]
[1] 18 22 17
  1. From the same temperatures vector, omit the temperature of the 5th day.
temperatures[-5]
[1] 15 18 20 22 17 16
  1. prices<- c(10,20,30,40,50), calculate the new prices after a 10% discount.
price<- c(10,20,30,40,50)
price-price*0.1
[1]  9 18 27 36 45
  1. Create a vector that contains the numbers from 5 to 50, but only including every 5th number
seq(5,50, by=5)
 [1]  5 10 15 20 25 30 35 40 45 50
  1. Simulate the results of rolling a 6-sided die 10 times.
sample(1:6, size=10, replace=T)
 [1] 4 6 6 5 4 4 3 5 3 1
  1. fruits<- c(apple, banana, cherry), extract the first 3 letters of each fruit.
fruits<- c("apple","banana","cherry")
substr(fruits,1,3)
[1] "app" "ban" "che"
  1. ages<- c(25,30,35,40,45,50), identify which ages are greater than 30 and less than 50.
ages<- c(25,30,35,40,45,50)
ages[ages>30 & ages<50]
[1] 35 40 45
  1. vector1<- c(5,10,15), vector2<- c(10,10,20), determine which elements of vector1 are less than or equal to the corresponding elements in vector2.
vector1<- c(5,10,15)
vector2<- c(10,10,20)
vector1[vector1<=vector2]
[1]  5 10 15