rlads2021 / hw4

HW 4: List, Loop, and Data frame
https://rlads2021.github.io/hw4
0 stars 9 forks source link

加入Obama的那幾行程式沒辦法跑 #14

Open Kang-Ling-Wang opened 3 years ago

Kang-Ling-Wang commented 3 years ago

助教們好,以下這幾行程式會跑出: 錯誤: $ operator is invalid for atomic vectors

member[[5]] <- list(name = "Obama", age = 59)
for (y in -1:1) {
  lst = n_years_later(member, y)
  print(sapply(lst, function(x) x$age))
}

因此,跑完我寫的程式和上面這幾行,只會出現,Obama的數據沒有進去: [1] 39 19 17 18 [1] 40 20 18 19 [1] 41 21 19 20

我的疑問點在於(1) lst不是vector為什麼不能用$ operator 和 (2)我需要如何修改 謝謝助教們~

liao961120 commented 3 years ago

應該是因為你的 n_years_later() 傳出的東西在結構上跟傳入的 member 不一樣,你可以自己在 R Console 裡面檢查

n_years_later(member, 1)

跑出來的東西長什麼樣子 (應該要跟 member 一樣,除了年齡的部份多了一歲