num_var<- 42.5Exercise 1 - Vector
Exercise 1
- Create a numeric variable “num_var” with the value “42.5”.
- Create a character variable “char_var” with the value “R is fun!”.
char_var<- "R is fun!"- Print the data type “char_var”.
class(char_var)[1] "character"
- Create a list “student_info” with the following elements:
- name: Mohammad Nasir Abdullah
- age: 18
- grades: a numeric vector with values 99,100,89
- name: Mohammad Nasir Abdullah
student_info<- list(
name= "Mohammad Nasir Abdullah",
age= 18,
grades= c(99,100,89)
)- Create a data frame “df_student” with the following collumns.
- name: John, Pablo
- age: 22, 30
- grade: A, C
- name: John, Pablo
df_students<- data.frame(
Name= c("John","Pablo"),
Age= c(22,30),
Grade= c("A","C")
)- Create a numeric vector “vec_num” with the values 5,10,15,20.
vec_num<- c(5,10,15,20)- Extract the second and third elements from “vec_num”.
vec_num[c(2,3)][1] 10 15
- Create a vector “vec_seq” that contains a sequence of number from 1 to 10.
vec_seq<- seq(1,10)- Create a vector “vec_rand” with 5 random numbers between 1 to 100.
vec_rand<- sample(1:100, size= 5, replace= F)- Create a character vector “vec_char” with the values apple, banana and cherry.
vec_char<- c("apple","banana","cherry")- 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"
- Create a character with “vec_colors” with the values red, blue, green, red, blue.
vec_colors<- c("red","blue","green","red","blue")- Convert “vec_colors” into a factor vector “factor_colors”.
factor_colors<- as.factor(vec_colors)- Print the levels of “factor_levels”.
levels(factor_colors)[1] "blue" "green" "red"
- Given a numeric vector “vec_bonus = c(10,20,30,40,50)”, write a code snippet to:
- Extract all elements grater than 25.
- Calculate the mean of the extracted elements.
- Extract all elements grater than 25.
vec_bonus<- c(10,20,30,40,50)
mean(vec_bonus[vec_bonus>25])[1] 40
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
- 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"
- 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
- 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
- From the same temperatures vector, omit the temperature of the 5th day.
temperatures[-5][1] 15 18 20 22 17 16
- 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
- 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
- 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
- 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"
- 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
- 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