tibble 是一种简单数据框,相对于传统的data.frame做出了一些修改。tibble 包是tidyverse 的核心 R 包,其所提供的简单数据框更易于 在 tidyverse 中使用。
创建tibble
>library(tidyverse)
> as_tibble(iris)
# A tibble: 150 x 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <fct>
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
也可以通过 tibble() 函数使用一个向量来创建新 tibble。
> tibble(
+ x = 1:5,
+ y = 1,
+ z=x^2+ y )
# A tibble: 5 x 3
x y z
<int> <dbl> <dbl>
1 1 1 2
2 2 1 5
3 3 1 10
4 4 1 17
5 5 1 26
使用 tribble() 函数创建tibble,tribble() 可以对数据按行进行编码:列标题由公式(以 ~ 开头) 定义,数据条目以逗号分隔。
> tribble(
+ ~x, ~y, ~z,"abc", 1, 3.6, "xyz", 5, 10)
# A tibble: 2 x 3
x y z
<chr> <dbl> <dbl>
1 abc 1 3.6
2 xyz 5 10
tibble可以在 tibble 中使用不符合语法的名称作为列名称。例如, 列名称可以不以字母开头,也可以包含特殊字符(如空格)。但这样的变量,需要 使用反引号 ` 将它们括起来:
> tb <- tibble(
+ `:)` = "smile",
+ ` ` = "space",
+ `2000` = "number"
+ )
> tb
# A tibble: 1 x 3
`:)` ` ` `2000`
<chr> <chr> <chr>
1 smile space number
所以,当数据的列名不是很规范时,可以将data.frame换成tibble,同时tibble也可以在 ggplot2 和 dplyr 等其他 R 包中通过使用反引号调用这些变量。
来自《R数据科学》
欢迎关注~