開始使用免費開始

用 lapply 搭配你自己的函式

正如 Filip 在教學影片中所說,你也可以把 lapply() 用在你自己寫的函式上。你只需要先編寫一個新函式,並確保它已經在工作空間中可用。之後,你就能像使用 base R 的函式一樣,把它放進 lapply() 裡使用。

在前一個練習中,你已經用過一次 lapply(),把你最喜歡的開創性統計學家的資訊,轉成由兩個字串組成的向量清單。現在來寫些程式碼,分別選出姓名與出生年份。

範例程式碼已經包含 select_first() 的定義。這個函式會把向量作為輸入,並回傳該向量的第一個元素。

本練習屬於課程

R 中級

檢視課程

練習說明

  • lapply()select_first() 套用到 split_low 的各個元素上,並將結果指派給新變數 names
  • 接著,撰寫函式 select_second(),讓它對輸入向量的第二個元素做出相同的事。
  • 最後,把 select_second() 套用到 split_low,並將輸出指派給變數 years

動手互動練習

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

# Code from previous exercise:
pioneers <- c("GAUSS:1777", "BAYES:1702", "PASCAL:1623", "PEARSON:1857")
split <- strsplit(pioneers, split = ":")
split_low <- lapply(split, tolower)

# Write function select_first()
select_first <- function(x) {
  x[1]
}

# Apply select_first() over split_low: names


# Write function select_second()




# Apply select_second() over split_low: years
編輯並執行程式碼