热线电话:13121318867

登录
2018-11-04 阅读量: 862
创建tibble实现简单数据框

tibble 是一种简单数据框,它对传统数据框的功能进

行了一些修改,以便更易于使用。 R 是一门古老的语言,其中有些功能在 10 年或 20 年前

是适用的,但现在已经过时。在不破坏现有代码的前提下,很难修改 R 的基础功能,因此

多数革新都是以扩展包的方式出现的。

tidyverse 的核心 R 包之一——tibble 包。

library(tidyverse)

tibble 是 tidyverse 的标准功能之一。可以使

用 as_tibble() 函数来完成转换:

as_tibble(iris)
#> # A tibble: 150 × 5
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> <dbl> <dbl> <dbl> <dbl> <fctr>
#> 1 5.1 3.5 1.4 0.2 setosa
#> 2 4.9 3.0 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.0 3.6 1.4 0.2 setosa
#> 6 5.4 3.9 1.7 0.4 setosa
#> # ... with 144 more rows

可以通过 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

如果你已经非常熟悉 data.frame() 函数,那么请注意 tibble() 函数的功能要少得多:它不

能改变输入的类型(例如,不能将字符串转换为因子)、变量的名称,也不能创建行名称。

可以在 tibble 中使用在 R 中无效的变量名称(即不符合语法的名称)作为列名称。例如,

列名称可以不以字母开头,也可以包含特殊字符(如空格)。要想引用这样的变量,需要

使用反引号 ` 将它们括起来:

tb <- tibble(
`:)` = "smile",
` ` = "space",
`2000` = "number"
)
tb
#> # A tibble: 1 × 3
#> `:)` ` ` `2000`
#> <chr> <chr> <chr>
#> 1 smile space number

如果要在 ggplot2 和 dplyr 等其他 R 包中使用这些变量,也需要使用反引号。

创建 tibble 的另一种方法是使用 tribble() 函数, tribble 是 transposed tibble(转置 tibble)

的缩写。 tribble() 是定制化的,可以对数据按行进行编码:列标题由公式(以 ~ 开头)

定义,数据条目以逗号分隔,这样就可以用易读的方式对少量数据进行布局:

tribble(
~x, ~y, ~z,
#--|--|----
"a", 2, 3.6,
"b", 1, 8.5

0.0000
7
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子