什么是tibble
簡(jiǎn)而言之tibble是data.frame的一種形式锭碳,語(yǔ)法和data.frame較為相似,其實(shí)大部分功能都與data.frame相似很魂。tibble來(lái)自于tidyverse生態(tài)系統(tǒng)中的tibble包趴樱。
依照官網(wǎng)上說的,tibble與data.frame的最大不同在于兩點(diǎn):1.print尚卫;2.子集的索引归榕。
關(guān)于這兩點(diǎn)我們來(lái)動(dòng)手實(shí)踐一下子:
我們利用已存在的數(shù)據(jù)集做個(gè)測(cè)試(mtcars),我們把它print出來(lái)吱涉。
library(tibble)
dt = as_tibble(mtcars)
dt
tibble
一般只顯示前十行蹲坷,而我們看看data.frame
df = data.frame(mtcars)
df
data.frame
而它的數(shù)據(jù)結(jié)構(gòu)可以看到是這樣的:
class(dt)
[1] "tbl_df" "tbl" "data.frame"
接下來(lái)我們?cè)倏纯慈∽蛹?/p>
dt$mpg #按名稱取
dt[["mpg"]]#按名稱取,雙引號(hào)引起來(lái)
dt[[1]]#按位置取
image.png
還有管道提取操作驶乾,只不過要加上占位符.(英文狀態(tài)下的.)
dt %>% .$mpg
#這個(gè)data.frame和tibble都可以操作
tibble與data.frame最大的區(qū)別
這里參考了有一篇博客的例子:http://www.reibang.com/p/8b509f246cf5
df$x #x不完全匹配會(huì)被提取
[1] a
Levels: a
df[, "xyz"]
[1] a
Levels: a
df[, c("abc", "xyz")]
abc xyz
1 1 a
tb <- as.tibble(df)
tb$x #不完全匹配會(huì)報(bào)錯(cuò)
NULL
Warning message:
Unknown or uninitialised column: 'x'
tb[, "xyz"]
# A tibble: 1 x 1
xyz
<fct>
1 a
tb[, c("abc", "xyz")]
# A tibble: 1 x 2
abc xyz
<dbl> <fct>
1 1 a