首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏生物信息学、python、R、linux

    使用tibble实现简单数据框

    tibble 是一种简单数据框,相对于传统的data.frame做出了一些修改。tibble 包是tidyverse 的核心 R 包,其所提供的简单数据框更易于 在 tidyverse 中使用。 创建tibble >library(tidyverse) > as_tibble(iris) # A tibble: 150 x 5 Sepal.Length Sepal.Width Petal.Length () 函数使用一个向量来创建新 tibble。 > <dbl> 1 abc 1 3.6 2 xyz 5 10 tibble可以在 tibble 中使用不符合语法的名称作为列名称。 所以,当数据的列名不是很规范时,可以将data.frame换成tibble,同时tibble也可以在 ggplot2 和 dplyr 等其他 R 包中通过使用反引号调用这些变量。

    1.2K20发布于 2020-07-07
  • 来自专栏简说基因

    R数据科学整洁之道:使用 tibble 实现简单数据框

    install.packages('tidyverse') 创建 tibble 因为 tibble 是 tidyverse 的标准功能之一,所以 tidyverse 中几乎所有函数都可以创建 tibble tidyverse 中许多函数都可以创建 tibble,因为 tibble 是 tidyverse 的标准功能之一。 可以通过 tibble() 函数使用一个向量来创建新 tibble。 创建 tibble 的另一种方法是使用 tribble() 函数,tribble 是 transposed tibble(转置 tibble) 的缩写。 最后总结 tibble 相对于数据框来说,更简单,但更方便使用,两者的主要区别是: tibble 不能创建行名。 tibble 不能改变输入的类型(例如,不能将字符串转换为因子)、变量的名称。 tibble 不能进行部分匹配,如果想要访问的列不存在,它会生成一条警告信息。 tibble 打印时更美观。

    2.7K10编辑于 2022-11-11
  • 来自专栏爬虫资料

    将html_table2结果转化为tibble的最佳实践

    什么是 html_table2 和 tibble?html_table2html_table2 是 R 语言中解析 HTML 表格的主要工具之一,可以轻松从 HTML 文档中提取表格数据。 转化为 tibble 的原因可读性:tibble 显示时更加紧凑易读。兼容性:许多 tidyverse 包对 tibble 的支持更佳。操作性:tibble 提供了更强的列操作功能。3. # 提取表格table <- page %>% html_node("table") %>% html_table2()# 转换为 tibbletable_tibble <- as_tibble(table )# 打印结果print(table_tibble)3.5 数据清洗与整理表格数据常常需要进一步清理。 <- as_tibble(table)# 数据清洗cleaned_data <- table_tibble %>% rename(brand = 1, price = 2) %>% mutate(

    43910编辑于 2024-12-19
  • 来自专栏爬虫资料

    tibble 和传统数据框:哪个更适合网页爬取的数据存储

    R 语言中有两种常用的数据存储结构:传统数据框(data.frame)和现代的 tibble(来自 tibble 包)。两者在性能、灵活性和兼容性方面各有优劣。 本文将探讨传统数据框与 tibble 的差异,并通过从百度搜索获取排名前十的关键词链接为例,分析两者在网页爬取数据存储中的表现。 数据框与 tibble 的对比属性传统数据框tibble性能操作速度较慢,特别是大规模数据处理时表现较差。优化性能,适合大数据集的存储与处理。灵活性不支持嵌套列表或复杂结构,列名需遵循规则。 在网页爬取数据存储方面,传统数据框和 tibble 各具优势:小型项目:传统数据框更适合简单的、无需复杂存储结构的任务。 大型项目:对于包含嵌套数据或需要处理大规模数据集的爬取任务,tibble 是更优的选择。

    45410编辑于 2024-12-24
  • 来自专栏庄闪闪的R语言手册

    R数据科学|第七章内容介绍

    使用tibble实现简单数据框 tibble是一种简单数据框,它对data.frame的功能进行了一些修改,更易于使用。 本文将介绍tidyverse的核心R包之一——tibble包 创建tibble 使用as_tibble()函数直接将数据转换成tibble形式。 通过tibble()函数使用一个向量来创建新 tibbletibble() 会自动重复长度为 1 的输入,并可以使用刚刚创建的新变量。 tibble( x = 1:5, y = 1, z = x ^ 2 + y ) #> # A tibble: 5 × 3 #> x y z #> <int> <dbl> <dbl> #> 1 1 > #> 1 a 2 3.6 #> 2 b 1 8.5 对比tibble与data.frame 使用方法 tibble data.frame 打印 tibble只显示前 10 行结果,并且列也是适合屏幕的

    1.4K30发布于 2021-04-09
  • 来自专栏火星娃统计

    R海拾遗-tidyverse

    ------------------------------------ tidyverse 1.3.0 -- ## √ ggplot2 3.3.2 √ purrr 0.3.4 ## √ tibble dplyr::filter() masks stats::filter() ## x dplyr::lag() masks stats::lag() # 建立测试数据集 my_data <- as_tibble (iris) my_data %>% head() ## # A tibble: 6 x 5 ## Sepal.Length Sepal.Width Petal.Length Petal.Width 5.4 3.9 1.7 # 根据列名 my_data %>% select(Sepal.Length, Petal.Length)%>% head() ## # A tibble is.na(height))%>% head() ## # A tibble: 2 x 4 ## name age height married ## <chr> <dbl> <dbl>

    1.4K10发布于 2020-09-15
  • 来自专栏医学和生信笔记

    dplyr中的行操作

    df <- tibble(x = 1:2, y = 3:4, z = 5:6) df %>% rowwise() ## # A tibble: 2 × 3 ## # Rowwise: ## df %>% rowwise() %>% mutate(m = mean(c(x, y, z))) ## # A tibble: 2 × 4 ## # Rowwise: ## x (name = c("Mara", "Hadley"), x = 1:2, y = 3:4, z = 5:6) df ## # A tibble: 2 × 4 ## name x 对行进行汇总统计 df <- tibble(id = 1:6, w = 10:15, x = 20:25, y = 30:35, z = 40:45) df ## # A tibble: 6 × 5 # You can override using the ## `.groups` argument. ## # A tibble: 6 × 2 ## # Groups: id [6] ##

    2.3K30编辑于 2022-11-15
  • 来自专栏优雅R

    「R」dplyr 行式计算

    你可以使用 rowwise() 创建它: df <- tibble(x = 1:2, y = 3:4, z = 5:6) df %>% rowwise() #> # A tibble: 2 x 3 #> [11 × 12]> #> 2 6 <tibble [7 × 12]> #> 3 8 <tibble [14 × 12]> 这与通常的 group_by() 输出有一点不同:我们明显地改变了数据的结构 [11 × 12]> <lm> #> 2 6 <tibble [7 × 12]> <lm> #> 3 8 <tibble [14 × 12]> <lm> 用每行一组预测值来补充 [11 × 12]> <lm> <dbl [11]> #> 2 6 <tibble [7 × 12]> <lm> <dbl [7]> #> 3 8 <tibble [14 因为输入tibble中的列没有那么规则,所以这种方法更不适合这种方法。

    7.2K20编辑于 2022-01-21
  • 来自专栏医学和生信笔记

    dplyr中的across操作

    species) %>% filter(n() > 1) %>% summarise(across(c(sex, gender, homeworld), n_distinct)) ## # A tibble %>% filter(n() > 1) %>% summarise(across(where(is.numeric), ~ mean(.x, na.rm = TRUE))) ## # A tibble group_by(homeworld) %>% filter(n() > 1) %>% summarise(across(where(is.numeric), mean)) ## # A tibble max = ~max(.x, na.rm = TRUE) ) starwars %>% summarise(across(where(is.numeric), min_max)) ## # A tibble 可以放在tibble里解决: starwars %>% summarise( tibble( across(where(is.numeric), ~min(.x, na.rm = TRUE)

    1.1K30编辑于 2022-11-15
  • 来自专栏生信补给站

    盘一盘Tidyverse| 筛行选列之select,玩转列操作

    一 载入R包,数据 #载入R包 #install.packages("tidyverse") library("tidyverse") #查看内置数据集 head(msleep,2) # A tibble 1)starts_with()选择以“XX”开头的所有列 msleep %>% select(name, starts_with("sleep")) %>% head(2) # A tibble: msleep %>% select_if(is.numeric) %>% head(2) # A tibble: 2 x 6 sleep_total sleep_rem sleep_cycle 5.2 rename更改列名 msleep %>% rename(animal = name) %>% head(2) # A tibble: 2 x 11 animal genus vore msleep %>% select(-(name:genus), -conservation,-(ends_with("e"))) %>% head(2) # A tibble: 2 x 5

    1.6K20发布于 2020-08-06
  • 来自专栏菜鸟学数据分析之R语言

    【R语言】基础知识 | 别再只会用vlookup了,合并表格它更简单!!

    面对left_join+right_join 不必恐慌 1、创建数据框1 银行分布= tibble (地区 = c("鼓楼","台江","晋安","马尾","闽侯"), 银行= c("中国农业银行 ","中国银行","中国建设银行","中国工商银行","中国邮政储蓄银行")) > 银行分布 #查看 # A tibble: 5 x 2 地区 银行 <chr> <chr (地区=c("鼓楼","仓山","长乐","晋安","福清"), 期货=c("兴证期货","福能期货","国贸期货","瑞达期货","鑫鼎盛期货")) > 期货公司 # A tibble: 5 x 2 3 长乐 国贸期货 4 晋安 瑞达期货 5 福清 鑫鼎盛期货 3、left_join的使用 > 银行分布 %>% left_join(期货公司, by = "地区") # A tibble > #表示保留【银行分布】中所有的行,合并匹配【期货公司】中的列 4、right_join的使用 > 银行分布 %>% + right_join(期货公司, by = "地区") # A tibble

    82710发布于 2021-01-28
  • 来自专栏R语言数据分析指南

    ggflowchart优雅的绘制流程图

    ::tibble(from = c("A", "A", "A", "B", "C", "F"), to = c("B", "C", "D", "E", "F" ::tibble( name = c("A", "B", "C", "D", "E", "F", "G"), type = c("Type 1", "Type 1", "Type 1", "Type Type 2", "Type 2", "Type 2") ) ggflowchart(data, node_data, fill = type) 图片 复杂案例展示 构建数据 goldilocks <- tibble ::tibble( from = c( "Goldilocks", "Porridge", "Porridge", "Porridge", "Just right", ) ) node_data <- tibble::tibble(name = c( "Goldilocks", "Porridge", "Just right", "Chairs", "Just

    79440编辑于 2023-05-26
  • 来自专栏医学和生信笔记

    dplyr强大的分组汇总

    by_species ## # A tibble: 87 x 14 ## # Groups: species [38] ## name height mass hair_color 查看分组信息 group_keys()查看用于分组的组内有哪些类别,可以看到species有38种: by_species %>% group_keys() ## # A tibble: 38 x 1 通过使用一个参数可以避免这个问题: by_species %>% group_by(homeworld, .add = T) %>% tally() ## # A tibble: 58 x %>% ungroup(sex) %>% tally() ## # A tibble: 3 x 2 ## gender n ## <chr> <int> ## by_species %>% arrange(desc(mass), .by_group = T) %>% relocate(species, mass) ## # A tibble: 87

    2.1K30编辑于 2022-11-15
  • 来自专栏医学和生信笔记

    使用workflow一次完成多个模型的评价和比较

    [1 × 4]> <opts[0]> <list [0]> ## 2 rec_knn <tibble [1 × 4]> <opts[0]> <list [0]> ## 3 rec_rf <tibble [1 × 4]> <opts[0]> <list [0]> ## 4 rec_tree <tibble [1 × 4]> <opts[0]> <list [0]> 运行模型 首先是一些运行过程中的参数设置 [1 × 4]> <opts[2]> <rsmp[+]> ## 2 rec_knn <tibble [1 × 4]> <opts[2]> <rsmp[+]> ## 3 rec_rf <tibble [1 × 4]> <opts[2]> <rsmp[+]> ## 4 rec_tree <tibble [1 × 4]> <opts[2]> <rsmp[+]> stopCluster(cl) 需要很长时间 大家笔记本如果内存不够可能会失败哦~ 查看结果 查看模型在训练集中的表现: collect_metrics(four_fits) ## # A tibble: 8 × 9 ## wflow_id .

    1.9K50编辑于 2022-11-15
  • 来自专栏火星娃统计

    dplyr_下篇

    iris[,1:4] %>% rowwise() %>% mutate(total = sum(c(Sepal.Length, Sepal.Width))) %>% head() ## # A tibble 并进行计算 iris %>% rowwise() %>% mutate(total = sum(c_across(where(is.numeric)))) %>% head() ## # A tibble ))) %>% head() ## `summarise()` regrouping output by 'id' (override with `.groups` argument) ## # A tibble rsq = summary(model)$r.squared, slope = summary(model)$coefficients[2]) by_species ## # A tibble >% head() ## `summarise()` regrouping output by 'Species' (override with `.groups` argument) ## # A tibble

    98320发布于 2020-09-15
  • 来自专栏优雅R

    「R」数据操作(六):dplyr 排序和选择

    arrange(flights, year, month, day) ## # A tibble: 336,776 x 19 ## year month day dep_time sched_dep_time (x = c(5, 2, NA)) arrange(df, x) ## # A tibble: 3 x 1 ## x ## <dbl> ## 1 2.00 ## 2 5.00 ## 3 NA arrange(df, desc(x)) ## # A tibble: 3 x 1 ## x ## <dbl> ## 1 5.00 ## 2 2.00 ## 3 NA 使用 # 根据名字选择列 select(flights, year, month, day) ## # A tibble: 336,776 x 3 ## year month day ## 我们可以使用它的变体函数rename()来给变量重新命名: rename(flights, tail_num = tailnum) ## # A tibble: 336,776 x 19 ##

    4.5K10发布于 2020-07-06
  • 来自专栏数据驱动实践

    tidyverse:R语言中相当于python中pandas+matplotlib的存在

    02 — tibble:高级数据框(data.frame升级版) ——数据(列)类型一目了然 tibble是R语言中一个用来替换data.frame类型的扩展的数据框,tibble继承了data.frame tibble包,也是由Hadley开发的R包。 tibble对data.frame做了重新的设定: tibble,不关心输入类型,可存储任意类型,包括list类型 tibble,没有行名设置 row.names tibble,支持任意的列名 tibble ,会自动添加列名 tibble,类型只能回收长度为1的输入 tibble,会懒加载参数,并按顺序运行 tibble,是tbl_df类型 tibble是data.frame的进化版,有如下优点:生成的数据框数据每列可以保持原来的数据格式 其他格式转化,使用as_tibble转换为tibble格式 > dft_1 <- as_tibble(mtcars) > dft_1 # A tibble: 32 x 11 mpg cyl

    6.3K10发布于 2021-01-12
  • 来自专栏生信小驿站

    R语言日常笔记(2)distinc函数

    接上文:R语言日常笔记(1)filter函数 > library(dplyr) > library(tidyverse) > starwars %>% + head() # A tibble: 6 height)%>% + head() # A tibble: 6 x 13 name height mass hair_color skin_color eye_color birth_year ) %>% + group_by(gender) %>% + filter(row_number(gender)==1) %>% + ungroup # A tibble: 4 x 5 首先将数据框转换为tibble,select提取感兴趣或者相关的列, group_by按gender分组数据, filter抓取每个gender的第一行,然后 ungroup取消分组。 第三种方法: summarize函数 > starwars %>% + as_tibble %>% + select(name,gender, skin_color, height,

    4.8K30发布于 2019-07-16
  • 来自专栏优雅R

    「R」数据操作(七):dplyr 操作变量与汇总

    mutate(flights_sml, gain = arr_delay - dep_delay, speed = distance / air_time * 60) #> # A tibble = arr_delay - dep_delay, hours = air_time / 60, gain_per_hour = gain / hours) #> # A tibble 这是因为队伍可以控制谁可以上场,很显然他们都会选自己最棒的选手: # 转换为tibble,看起来更舒服 batting <- as.tibble(Lahman::Batting) #> Warning: `as.tibble()` is deprecated, use `as_tibble()` (but mind the new semantics). #> This warning is displayed 比如,你想用它计数(求和)一个飞机飞行的总里程: not_cancelled %>% count(tailnum, wt = distance) #> # A tibble: 4,037 x

    3.1K20发布于 2020-07-06
  • 来自专栏优雅R

    「R」dplyr 列式计算

    starwars %>% summarise(across(where(is.character), ~ length(unique(.x)))) #> # A tibble: 1 x 8 #> ~ length(unique(.x)))) #> `summarise()` ungrouping output (override with `.groups` argument) #> # A tibble 如果你想执行一些语境依赖的相关转换,这可能会很有用: df <- tibble(x = 1:3, y = 3:5, z = 5:7) mult <- list(x = 1, y = 10, z = 100 is.na(.x))) #> # A tibble: 29 x 14 #> name height mass hair_color skin_color eye_color birth_year 我们希望大家不会对这种新行为感到惊讶: df <- tibble(x = 2, y = 4, z = 8) df %>% mutate_all(~ .x / y) #> # A tibble: 1 x

    3.4K10编辑于 2022-01-21
领券