開始使用免費開始

sapply 無法再精簡,該怎麼辦?

看起來我們在 sapply() 上大獲全勝。到目前為止的所有範例中,sapply() 都能把 lapply() 冗長的輸出,漂亮地精簡起來。不過就像現實生活一樣,並不是所有東西都能被精簡。當無法精簡時,sapply() 會怎麼反應?

我們已經建立了一個函式 below_zero(),它會接收一個數值向量,並回傳只包含嚴格小於 0 的值的向量。

本練習屬於課程

R 中級

檢視課程

練習說明

  • 使用 sapply()below_zero() 套用到 temp,並把結果存成 freezing_s
  • 使用 lapply()below_zero() 套用到 temp。把得到的列表存到變數 freezing_l
  • 使用 identical() 函式比較 freezing_sfreezing_l

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# temp is already prepared for you in the workspace

# Definition of below_zero()
below_zero <- function(x) {
  return(x[x < 0])
}

# Apply below_zero over temp using sapply(): freezing_s


# Apply below_zero over temp using lapply(): freezing_l


# Are freezing_s and freezing_l identical?
編輯並執行程式碼