全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
1381 1
2019-12-21
<span style="em;"><b>R tibble简介</b></span>
<img src="https://upload.jianshu.io/users/upload_avatars/19396348/bd7eda85-b396-4421-b859-ec7b6e5ffb11.png?imageMogr2/auto-orient/strip|imageView2/1/w/96/h/96">
小潤澤
字数 227 · 阅读 12019-12-19 19:51
<span style="em;"><b>什么是tibble</b></span>
简而言之tibble是data.frame的一种形式,语法和data.frame较为相似,其实大部分功能都与data.frame相似。tibble来自于tidyverse生态系统中的tibble包。<br>
依照官网上说的,tibble与data.frame的最大不同在于两点:1.print;2.子集的索引。
关于这两点我们来动手实践一下子:<br>
我们利用已存在的数据集做个测试(mtcars),我们把它print出来。
library(tibble) dt = as_tibble(mtcars) dt
<img src="https://upload-images.jianshu.io/upload_images/19396348-7458789b565459a5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/575/format/webp">
tibble<br>
一般只显示前十行,而我们看看data.frame
df = data.frame(mtcars) df
<img src="https://upload-images.jianshu.io/upload_images/19396348-b60ac5510b595339.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/565/format/webp">
data.frame
而它的数据结构可以看到是这样的:
class(dt) [1] "tbl_df" "tbl" "data.frame"
接下来我们再看看取子集:
dt$mpg #按名称取 dt[["mpg"]]#按名称取,双引号引起来 dt[[1]]#按位置取
<img src="null">
image.png
还有管道提取操作,只不过要加上占位符.(英文状态下的.)
dt %>% .$mpg #这个data.frame和tibble都可以操作
<span style="em;"><b>tibble与data.frame最大的区别</b></span>
这里参考了有一篇博客的例子:<a href="https://www.jianshu.com/p/8b509f246cf5">https://www.jianshu.com/p/8b509f246cf5</a>
df$x #x不完全匹配会被提取 [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 #不完全匹配会报错 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
<div align="center"  >赞<br>

</div><br>

<div align="center"  >小礼物走一走,来简书关注我<br>

</div><br>
赞赏支持
<div align="left"  >3DEXPERIENCE——3D方案解决专家·达索系统<br>

</div><br>
广告<br>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-1-8 00:10:57
thanks for sharing
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群