R语言系列:
- 编程基础💎循环语句💎向量、矩阵和数组💎列表、数据帧
- 排序函数💎apply系列函数
- tidyverse:readr💎tibble
简介
tibble是tidyverse重写的一个数据框结构,是ggplot2绘图时的推荐格式,与R Base中的data.frame在大方向上基本上是相同的,故可直接通过data.frame来生成,但在一些细节方面做了优化,比如对在使用print函数时,会提供更具可读性的输出。
> library(tibble)
> rIris = tibble(iris)
> print(rIris)
其打印结果如下
# A tibble: 150 × 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
8 5 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
# … with 140 more rows
# ℹ Use print(n = ...)
to see more rows
创建
通过tibble函数可创建一个新的tibble,其输入可以为向量、矩阵、列表、数据帧等,在前面的示例代码中,就是把data.frame数据iris转换为了tibble。
此外,可以通过tribble来创建tibble,并用~声明列名,
tTest <- tribble(~colA, ~colB, "a", 1,"b", 2)
print(tTest)
# 返回值如下
# A tibble: 3 × 2
colA colB
<chr> <dbl>
1 a 1
2 b 2
在使用print函数将tibble打印之后,在列名下面有一个数据类型标识,在tibble中,共有7中数据类型,其标识分别如下
int | dbl | chr | dttm | lgl | fctr | date |
---|---|---|---|---|---|---|
整数 | 实数 | 字符串 | 日期时间 | 逻辑向量 | 因子 |
转换
tibble
与data.frame, list
类型之间可以互相转换
-
as.data.frame
tibble
转data.frame
-
as.list
tibble
转list
-
as_tibble
将其他格式强制转化为tibble
将二者打印出来之后,可以更清晰地观察彼此的差别
> data <- data.frame(a=1:3, b=letters[1:3], c=Sys.Date() - 1:3)
> data
a b c
1 1 a 2023-04-17
2 2 b 2023-04-16
3 3 c 2023-04-15
> as_tibble(data)
# A tibble: 3 × 3
a b c
<int> <chr> <date>
1 1 a 2023-04-17
2 2 b 2023-04-16
3 3 c 2023-04-15
增加行或者列
add_row
和add_column
函数可以非常便捷地为tibble
增添行或者列,例如
> add_column(tbl, d = 0)
# A tibble: 3 × 4
a b c d
<int> <chr> <date> <dbl>
1 1 a 2023-04-17 0
2 2 b 2023-04-16 0
3 3 c 2023-04-15 0
其逻辑是声明一个列名,然后向列中添加数据,如果添加的是单个值,则将这一列所有值都设置成这个值,否则可以逐行设值。
add_row, add_columln
支持管道%>%
操作,示例如下文章来源:https://www.toymoban.com/news/detail-447528.html
> tbl %>% add_row(a=1, b='d', c=Sys.Date())
# A tibble: 4 × 3
a b c
<dbl> <chr> <date>
1 1 a 2023-04-17
2 2 b 2023-04-16
3 3 c 2023-04-15
4 1 d 2023-04-18
其中%>%
为管道操作符,可以理解为将左侧的数据推送给右侧的函数。文章来源地址https://www.toymoban.com/news/detail-447528.html
到了这里,关于R语言tidyverse教程:2 tibble的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!