tibble是一种简单数据框,它对data.frame的功能进行了一些修改,更易于使用。本文将介绍tidyverse的核心R包之一——tibble包
as_tibble()
函数直接将数据转换成tibble形式。tibble()
函数使用一个向量来创建新 tibble。tibble() 会自动重复长度为 1 的输入,并可以使用刚刚创建的新变量。tibble(
x = 1:5,
y = 1,
z = x ^ 2 + y
)
#> # A tibble: 5 × 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
可以在 tibble 中使用在 R 中不符合语法的名称作为列名称。例如,列名称可以不以字母开头,也可以包含特殊字符(如空格)。要想引用这样的变量,需要使用反引号将它们括起来。
tb <- tibble(
`:)` = "smile",
` ` = "space",
`2000` = "number"
)
tb
#> # A tibble: 1 × 3
#> `:)` ` ` `2000`
#> <chr> <chr> <chr>
#> 1 smile space number
tribble()
函数:tribble() 是定制化的,可以对数据按行进行编码:列标题由公式(以 ~ 开头)定义,数据条目以逗号分隔,这样就可以用易读的方式对少量数据进行布局。tribble(
~x, ~y, ~z,
"a", 2, 3.6,
"b", 1, 8.5
)
#> # A tibble: 2 × 3
#> x y z
#> <chr> <dbl> <dbl>
#> 1 a 2 3.6
#> 2 b 1 8.5
使用方法 | tibble | data.frame |
---|---|---|
打印 | tibble只显示前 10 行结果,并且列也是适合屏幕的,还会打印出列的类型 ,适合大数据集。 | 将数据全部输出,适合小数据集。 |
取子集 | 提取方式相同,但tibble 更严格:它不能进行部分匹配,如果想要访问的列不存在,它会生成一条警告信息。 | [[ 可以按名称或位置提取变量;$ 只能按名称提取变量。 |