作業目的: atomic vector and list

這份作業希望能夠讓你熟悉操作 atomic vector and list。

作業: RMarkdown 語法練習

滿分共 100 分。

A. vector (50 分)

  1. 底下的 code chunk 中,有兩個長度不同的向量,vector_01_leftvector_01_right ,兩者相乘後並沒有出現錯誤。請解釋為什麼他們可以相乘而不會出現 error,結果的值又是怎麼計算得到的?
    把解釋寫在這:
# (1)
vector_01_left <- c(1,3,5,10,12)
vector_01_right <- c(2,3)
vector_01_left*vector_01_right
#> [1]  2  9 10 30 24
  1. 請利用兩種不同的方法,將vector_02變成c(2,3,5),並將結果分別存到 vector_03vector_04 裡面。但不能直接使用 assignment 的偷懶做法 (assignment 是指 vector_03 <- c(2,3,5) )
# (2)
vector_02 <- c(1,3,5)
### your code
# method01

# method02

B. list (50 分)

底下有兩個 list,請撰寫程式

  1. 利用 [], [[]], $,無論哪種,抓出list_trueTRUE 元素,底下有附上預期的結果可以用來比對自己的答案是否正確
  2. 利用 assignment 以外的方法 (assignment 是指 list_true <- list_final),將 list_true 的值變成 list_final 的值,並利用identical(list_true, list_final)檢查兩者是否相等
list_true  <- list(a="bcd",c=list(1,2,"g"),5,abc=list(6,4,list(TRUE)))
list_final <- list(        c=list(1,  "g"),5,abc=list(6,4,list(FALSE)))

### your code
# (1)

# expected output
# [1] TRUE


# (2)

# check
identical(list_true, list_final)
# expected output
# [1] TRUE
# 現在是 FALSE 若你改動成功會變成 TRUE
#> [1] FALSE