前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用tibble实现简单数据框

使用tibble实现简单数据框

作者头像
生信编程日常
发布2020-07-07 09:56:01
9070
发布2020-07-07 09:56:01
举报
文章被收录于专栏:生物信息学、python、R、linux

tibble 是一种简单数据框,相对于传统的data.frame做出了一些修改。tibble 包是tidyverse 的核心 R 包,其所提供的简单数据框更易于 在 tidyverse 中使用。

创建tibble
代码语言:javascript
复制
>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。

代码语言:javascript
复制
> 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() 可以对数据按行进行编码:列标题由公式(以 ~ 开头) 定义,数据条目以逗号分隔。

代码语言:javascript
复制
> 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 中使用不符合语法的名称作为列名称。例如, 列名称可以不以字母开头,也可以包含特殊字符(如空格)。但这样的变量,需要 使用反引号 ` 将它们括起来:

代码语言:javascript
复制
> 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 包中通过使用反引号调用这些变量。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建tibble
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档