2.tibble實(shí)現(xiàn)簡單數(shù)據(jù)框

一、創(chuàng)建tibble

特殊字符做列名時使用 反引號 而不是雙引號或單引號

library(tidyverse)
as_tibble(iris)  # as_tibble轉(zhuǎn)換數(shù)據(jù)框?yàn)閠ibble格式
tibble(          # 這種方式創(chuàng)建會自動將長度為1的數(shù)據(jù)擴(kuò)展,并立即使用新的變量進(jìn)行計(jì)算
  x = 1:5,
  y = 1,
  z = x ^ 2 + y
)
tibble(          # tibble中允許列名不以字母開頭,允許列名包括特殊字符,用時需要用 *反引號*
  `:)` = "smile",
  ` ` = "space",
  `2000` = "number"
)
tribble(         # 可以對少量數(shù)據(jù)進(jìn)行轉(zhuǎn)化,列標(biāo)題以~開頭定義,條目以逗號分隔
  ~x, ~y, ~z,
  "a", 2, 3.6, 
  "b", 1, 8.5
)
# 使用as.data.frame()可以重新轉(zhuǎn)換為data.frame

二、tibble和data.frame比較

1.打印優(yōu)化,只顯示前10行,列自動適應(yīng)屏幕寬度,同時輸出列的數(shù)據(jù)類型,適合大數(shù)據(jù)集

nycflights13::flights  # tibble輸出形式
nycflights13::flights %>%  # 當(dāng)然也可以控制輸出的行列數(shù)
  print(n = 10, width = Inf)
nycflights13::flights %>%  # 同樣可以和data.frame一樣查看整個數(shù)據(jù)集
  view()
options(tibble.print_max = 5, tibble.print_min = 2)  # 控制默認(rèn)顯示行數(shù),至少2行,至多五行
options(tibble.print_min = Inf)  # 默認(rèn)顯示所有行
options(tibble.width = Inf)  # 默認(rèn)顯示所有列

2.取子集

## 提取列方法
nycflights13::flights$year
nycflights13::flights[["year"]]
nycflights13::flights[[1]]
nycflights13::flights[,1]
## 提取行方法
nycflights13::flights[1,]
## 注意在管道中使用需要用到特殊占位符.
nycflights13::flights %>% .$year
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容