EXERCISE 1

Author

Nur Aisyah Afifah

EXERCISE 1

  1. create a numeric variable “num_var” with variable with the value “42.5”.

    num_var <- 42.5
    num_var
    [1] 42.5
  2. create a character variable “char_var” with the value “R is fun!”

    char_var <- "R is fun!"
    char_var
    [1] "R is fun!"
  1. Print the data type “char_var”

    class(char_var)
    [1] "character"
  2. Create a list “student_info” with the following elements: “name” : “Mohammad Nasir Abdullah”,“age” : 18,“grades” : a numeric vector with values “99,100,89’.

    student_info <- list(
      name = c("Mohammad Nasir Abdullah"),
      age = c(18),
      grades = c(99, 100, 89)
    )
    student_info
    $name
    [1] "Mohammad Nasir Abdullah"
    
    $age
    [1] 18
    
    $grades
    [1]  99 100  89
  3. Create a data frame “df_students” with the following columns : “Name” : “John”, “Pablo”, “Age” : “22”,“30”, “Grade” : “A”,“C”

    df_students <- data.frame(
      Name = c("John", "Pablo"),
      Age = c(22, 30),
      Grade = c("A", "C")
    )
    
    df_students
       Name Age Grade
    1  John  22     A
    2 Pablo  30     C
  4. Create a numeric vector “vec_num” with the values “5,10,15,20”.

    vec_num <- c(5,10,15,20)
    vec_num
    [1]  5 10 15 20
  5. Extract the second and third elements from “vec_num”.

    vec_num <- c(5, 10, 15, 20)
    vec_num[c(2, 3)]
    [1] 10 15
  6. Create a vector “vec_seq” that contains a sequence of number from 1 to 10.

    vec_seq <- seq(1,10, by = 1)
    vec_seq
     [1]  1  2  3  4  5  6  7  8  9 10
  7. Create a vector “vec_rad” with 5 random numbers between 1 and 100.

    vec_rad <- sample(1:100, size = 5, replace = TRUE)
    vec_rad
    [1] 22 76 22 18 44
  8. Create a character vector “vec_char’ with the values”apple”, “banana’,”cherry”.

    vec_char <- c("apple", "banana", "cherry")
    vec_char
    [1] "apple"  "banana" "cherry"
  9. Use the substr( ) function to extract the first 3 characters from each elements of “vec_char”.

    vec_char <- substr(vec_char, 1, 3)
    vec_char
    [1] "app" "ban" "che"
  10. Create a character vector “vec_colors” with the values “red”, “blue”,“green”,“red”,“blue”.

    vec_colors <- c("red", "blue", "green", "red", "blue")
    vec_colors
    [1] "red"   "blue"  "green" "red"   "blue" 
  11. Convert “vec_colors” into a factor vector “factor_colors”.

    factor_colors <- as.factor(vec_colors)
    factor_colors
    [1] red   blue  green red   blue 
    Levels: blue green red
  12. Print the levels of “factor_colors”.

    levels(factor_colors)
    [1] "blue"  "green" "red"  
  13. Given a numeric vector “vec_bonus” = c(10,20,30,40,50)“, write a code snippet to: Extract all elements greater than 25, Calculate the mean of the extracted elements.

    vec_bonus <- c(10, 20, 30, 40, 50)
    extracted_elements <- vec_bonus[vec_bonus > 25]
    extracted_elements
    [1] 30 40 50
    mean(extracted_elements)
    [1] 40
  14. Given the following vectors:

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

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

    names[weights > 65]
    [1] "Bob"     "Charlie" "Frank"   "Henry"  

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

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

    Extract the weights of individuals whose names start with the letter ‘A’ od ‘D’.

    weights[names %in% c("Alice", "Daisy")]
    [1] 55 61

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

    sum(weights >= 60 & weights <= 70)
    [1] 4
  15. Given the following vector of daily temperatures ( in Celcius ) for a week.

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

    Identify the days when the temperatures was below 20C

    days[temperatures < 20]
    [1] "Wednesday" "Friday"   

    Calculate the difference between the highest an lowest temperatures of the week.

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

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

    sum(temperatures >= 20 & temperatures <= 24)
    [1] 4
  16. Given the following vector of exam scores:

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

    Identify the students who scored above 90.

    students[scores > 90]
    [1] "Cara"  "Grace"

    Find the average score of students who scored below 80.

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

    Extract the scores of students whose names start with a vowel (A,E,I,O,U).

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

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 vectors.

    num_vector <- 10:20
    days_vector <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
    num_vector
     [1] 10 11 12 13 14 15 16 17 18 19 20
    days_vector
    [1] "Monday"    "Tuesday"   "Wednesday" "Thursday"  "Friday"    "Saturday" 
    [7] "Sunday"   
  2. Given two vectors : 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)
    combined_vector <- c(a, b)
    combined_vector
    [1] 1 2 3 4 5 6
  3. Given the vector 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)
    extracted_temps <- temperatures[c(2, 4, 6)]
    extracted_temps
    [1] 18 22 17
  4. From the same temperatures vector, omit the temperature of the 5th day.

    omitted_temp <- temperatures[-5]
    omitted_temp
    [1] 15 18 20 22 17 16
  5. Given the vector prices <- c(10,20,30,40,50), calculate the new prices after a 10% discount.

    prices <- c(10, 20, 30, 40, 50)
    new_prices <- prices * 0.9
    new_prices
    [1]  9 18 27 36 45
  6. Create a vector that contains the numbers from 5 to 50, but only includes every 5th number (i.e, 5, 10, 15, …).

    new_vector <- seq(5, 50, by = 5)
    new_vector
     [1]  5 10 15 20 25 30 35 40 45 50
  7. Simulate the results of rolling a sided die 10 times.

    dice_rolls <- sample(1:6, size = 10, replace = TRUE)
    dice_rolls
     [1] 3 1 4 4 1 6 2 6 2 2
  8. Given the vector fruits <- c(“apple”, “banana”, “cherry’). extract the first letters of each fruit.

    fruits <- c("apple", "banana", "cherry")
    first_three <- substr(fruits, 1, 1)
    first_three
    [1] "a" "b" "c"
  9. Given the vector 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)
    selected_ages <- ages[ages > 30 & ages < 50]
    selected_ages
    [1] 35 40 45
  10. Given two vector: vector1 <- c(5,10,15) and 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)
    comparison_result <- vector1 <= vector2
    comparison_result
    [1] TRUE TRUE TRUE