iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 23
0
AI & Data

[Data Science系列]成為哥布林的那件事-非常粗(初)心者系列 第 23

[Data Science系列]利用R語言來快速整理資料list-里·耶斯提傑王國的分佈

  • 分享至 

  • xImage
  •  

嗨~大家晚安,前幾篇有提到for迴圈的用法,今天來談apply的用法
lapply()代表list apply用法在於對列表的每個組件執行給定的函數返回另一個列表。
lapply可以很方便地把list數據集進行循環操作。

好吧,恩君承認這樣說連恩君自己都不知道在打甚麼
剛好最近受安茲大人的委託,必須去鄰國里·耶斯提傑王國進行情報收集
透過人口,城鎮分佈來利用R做一下調查

王國 <- list(pop = 7853000,
            boroughs = c("耶·蘭提爾", "卡恩村", "卡茲平原", "都武大森林", "八本指"),
            capital = FALSE)
            
for(info in 王國) {print(class(info))}
[1] "numeric"
[1] "character"
[1] "logical"

輸入for()我們可以知道裡面有包含數字,字串,還有logical
另一個方法就是透過lapply直接可以更快的知道資料的結構,避免使用過多繁瑣的code

lapply(王國, class)
$`pop`
[1] "numeric"

$boroughs
[1] "character"

$capital
[1] "logical"

同樣的假設我們想要資到字元的長度,替換掉class改成nchar(number of character)

耶蘭提爾王國 <- c("耶·蘭提爾", "卡恩村", "卡茲平原", "都武大森林", "八本指")
lapply(耶蘭提爾王國, nchar)
[[1]]
[1] 5

[[2]]
[1] 3

[[3]]
[1] 4

[[4]]
[1] 5

[[5]]
[1] 3

注意到這邊是會變成list的方式,我們也可以用unlist的方式把它變成vector

耶蘭提爾王國 <- c("耶·蘭提爾", "卡恩村", "卡茲平原", "都武大森林", "八本指")
unlist(lapply(耶蘭提爾王國, nchar))
[1] 5 3 4 5 3

上一篇
[Data Science系列]利用R語言來了解package-R語言升級包
下一篇
[Data Science系列]利用R語言來管理兵器數量-
系列文
[Data Science系列]成為哥布林的那件事-非常粗(初)心者30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言