首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

tidyverse 中许多函数都可以创建 tibble,因为 tibble 是 tidyverse 的标准功能之一。 可以通过 tibble() 函数使用一个向量来创建新 tibble。...可以在 tibble 中使用在 R 中无效的变量名称(即不符合语法的名称)作为列名称。例如, 列名称可以不以字母开头,也可以包含特殊字符(如空格)。...) class(df) ## [1] "data.frame" 与 data.frame 比较 tibble 和传统 data.frame 的使用方法主要有两处不同:打印和取子集。...打印 tibble 的打印方法进行了优化,只显示前 10 行结果,并且列也是适合屏幕的,这种方式非 常适合大数据集。...最后总结 tibble 相对于数据框来说,更简单,但更方便使用,两者的主要区别是: tibble 不能创建行名。 tibble 不能改变输入的类型(例如,不能将字符串转换为因子)、变量的名称。

1.9K10

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

使用tibble实现简单数据框 tibble是一种简单数据框,它对data.frame的功能进行了一些修改,更易于使用。...通过tibble()函数使用一个向量来创建新 tibble。tibble() 会自动重复长度为 1 的输入,并可以使用刚刚创建的新变量。...例如,列名称可以不以字母开头,也可以包含特殊字符(如空格)。要想引用这样的变量,需要使用反引号将它们括起来。...> #> 1 a 2 3.6 #> 2 b 1 8.5 对比tibble与data.frame 使用方法 tibble data.frame 打印 tibble只显示前 10 行结果,并且列也是适合屏幕的...取子集 提取方式相同,但tibble 更严格:它不能进行部分匹配,如果想要访问的列不存在,它会生成一条警告信息。 [[ 可以按名称或位置提取变量;$ 只能按名称提取变量。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    「R」数据操作(五):dplyr 介绍与数据过滤

    这里我们使用dplyr包操作2013年纽约市的航班起飞数据集(2013)。 准备 这部分我们聚焦于如何使用dplyr包,除ggplot2的另一个tidyverse核心成员。...,这里适配地显示了在一个屏幕前几行和所有的列(我们可以使用View(flights)在Rstudio中查看数据集的所有信息。...它们描述了每个变量的类型: int代表整数 dbl代表浮点数或者实数 chr代表字符向量或者字符串 dttm代表日期-时间 还有其他三种数据类型在本部分不会使用到,但后续我们会接触: lgl代表逻辑向量...让我们实际来看看这些动词是怎么工作的。 使用filter()过滤行 filter()允许我们根据观测值来对数据集取子集。第一个参数是数据框的名字,第二和随后的参数是用于过滤数据框的表达式。...另一个你在使用==时可能遭遇的常见问题是浮点数。

    2.6K11

    「R」数据操作(一)

    本文内容: 基础函数操作数据框 sqldf包使用SQL查询数据框 data.table包操作数据 dplyr管道操作处理数据 rlist包处理嵌套数据结构 使用内置函数操作数据框 数据框的本质是一个由向量构成的列表...比如选择满足特定条件的行,使用[]符号,第一个参数提供一个逻辑向量,第二个参数留空。 本文大部分的代码都是基于一组产品的虚拟数据。我们先将数据载入,然后学习怎么用不同的方法操作数据。 if(!...函数是不同的,主要体现在不会将字符串转换为因子变量,当然前者的速度要快得多。...1个参数留空,给第2个参数提供字符向量。..." "Dancer" 除了构建子集,表达式还可以用来统计每列各个可能值出现的频数。

    1.9K10

    R数据科学|3.4内容介绍及习题解答

    3.4 使用select()选择列 通过基于变量名的操作,select()函数可以让你生成一个有用的变量子集。...select(flights, year, month, day, year, year) 这种机制非常有用,因为它意味着我们可以使用select()和everything()来轻松地更改列的顺序,...select(flights, arr_delay, everything()) 问题三 one_of()函数的作用是什么?为什么它结合以下向量使用时非常有用?...vars <- c( "year", "month", "day", "dep_delay", "arr_delay" ) 解答 one_of()函数的作用是:选择带有字符向量的变量,而不是不带引号的变量名参数...这个函数很有用,因为通过编程生成带有变量名的字符向量比生成不带引号的变量名更容易,后者更容易键入。

    1.6K61

    16. R编程(二:基本数据类型及其操作之因子、矩阵、数据框和列表)

    数据框dataframe 一个合适表格就和问卷一样,是包含不同类型的数据的。但需要注意的是,数据框的每一列只 包含一种数据类型 ,也就是说每一列如果单独提取出来,都是一个向量。...当通过名称对数据框进行选择的子集不存在时,R会帮我们创建一个新的内容。 排序 order() 会将其中的元素按照大小顺序排列,并按照大小顺序返回元素所在的位置数据。...另外,tibble类型允许其中的列是列表类型, 这样, 该列的每个元素就可以是复杂类型, 比如建模结果(列表), 元素之间可以保存不等长的值。...若没有通过定义factor直接设置levels 及顺序。...test2 <- read.csv("excise.csv") # 3.使用函数,查看test2的列名。 colnames(test2) # 4.使用函数,查看test2的行数和列数。

    2.8K20

    2023.4生信马拉松day7-R语言综合应用

    ) library(tibble) 专题1 玩转字符串★★★ stringr包含几十个函数,本节课主要讲以下6个: 图片 1. str_length() 检测字符串长度 str_length()数的是引号里面有多少个字母...str_length(x) length(x) 2. str_split(字符串,"拆分符号") 拆分字符串 图片 -(1)拆分之后成为了了列表,列表的每个元素对应原来的每个元素拆分的结果 -(2)列表使用不方便...tony 152") str_split(y," ") str_split(y," ",simplify = T) #简化拆分结果,简化成返回矩阵而不是列表 3. str_sub() 按位置提取字符串子集...相等的逻辑值向量; -(3)可以用来做“根据逻辑值提取x的子集”; str_detect(x2,"h") #判断x的每个字符串含不含有某个字母或者多个字母的组合; str_starts(x2,"T")...distinct(test,Species,.keep_all = T) 其中.keep_all = T表示“按'Species'列去完重复后保留所有列”,其默认设置是.keep_all = F,表示

    3.6K80

    R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)

    指定变量名时不是写成字符串形式而是直接写变量名: d.class %>% distinct(sex, age) %>% knitr::kable() 如果希望保留数据框中其它列,可以加选项 keep_all...按列号 select(test,1) select(test,c(1,5)) 按列名 如果想要用向量来存放希望筛选的列名,需要使用函数 one_of 来存放该向量。...对于待分离的对象(col),不必加上引号;但对于即将创建的新列(into),需要使用引号,由于是两列,这里使用向量创建。sep参数设定读取表格信息时以何符号作为分隔符。...对于即将合并的新列,需要使用引号;但对于想要合并的多个列名,可以不用使用引号。sep 参数设定多列合并后不同数据分隔使用的分割符。...实际上,tibble 允许存在数据类型是列表 (list) 的列,子数据框就是以列表数据类型保存在 tibble 的一列中的。

    10.9K30

    数据处理第2节:将列转换为正确的形状

    转换列:基础部分 您可以使用mutate()函数创建新列。 mutate中的选项几乎是无穷无尽的:你可以对普通向量做任何事情,可以在mutate()函数内完成。...连接本身就是一个章节,但在这种特殊情况下你会做一个left_join(),即保持我的主表(在左边),并从另一个向右添加列。 在by =语句中,您指定哪些列相同,因此连接知道要添加的位置。...在这种情况下,我们有3列描述时间度量。 对于某些分析和图表,可能有必要将它们合二为一。 gather函数需要您为新的描述性列指定名称(“key”),并为值列指定另一个名称(“value”)。...在前面的示例中,新列“sleep_measure”是一个字符向量。 如果您要进行总结或后续的绘制,则该列将按字母顺序排序。...如果您已经开始使用上一列,则可以在不同的列中获得不同的睡眠度量: msleep_g %>% spread(sleep_measure, time) ## # A tibble: 83 x 4 ##

    8.1K30

    Day07 生信马拉松-数据整理中的R

    全文并非是对数据整理的实操整理,主要整理在数据整理/清洗中常用的R包介绍 library(tidyr) library(dplyr) library(stringr) library(tibble) 1...(x) # 引号内的单个字母/数字/符号数量 length(x) #检测向量内的元素数 1.2 字符串拆分 str_split(x," ") #直接拆分后会变成list的子集 class(str_split...1.3 按位置提取字符串 #提取x中第5和第9位的字符串 str_sub(x,5,9) 1.4 字符检测 str_detect(x2,"h") # 第一个参数为向量名,第二个是检测的关键词 str_starts...(x2,"T") #判断x2中T开头的字符串,输出逻辑向量 str_ends(x2,"e") #判断x2中e结尾的字符串,输出逻辑向量 1.5 字符串替换 x2 str_replace(x2,"o",...#是b的下标,可以给b取子集,也可以给与b对应的其他向量取子集。

    23900

    「R」用purrr实现迭代

    每种类型的输出都有一个相应的函数: map()用于输出列表 map_lgl()用于输出逻辑型向量 map_dbl()用于输出双精度型向量 map_chr()用于输出字符型向量 每个函数都使用一个向量(注意列表可以作为递归向量看待...向量的类型由映射函数的后缀决定。 使用map()函数族的优势不是速度,而是简洁:它可以让我们的代码更易编写,也更易阅读。...第二个参数可以是一个公式、一个字符向量或一个整型向量。...$r.squared) #> 4 6 8 #> 0.509 0.465 0.423 因为提取命名成分操作非常普遍,所以purrr提供了一种更简单的快捷方式:使用字符串。...0.304 #> $ : num [1:5] 6.961 3.642 13.405 0.536 -2.078 #> $ : int [1:5] 8 8 8 6 11 第1个参数是一个函数列表或包含函数名称的字符串向量

    4.8K20

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

    从文件中读取数据 purrr:(提供好用的编程函数 tibble:data.frame升级款 stringr:处理字符,查找、替换等 forcats:处理因子问题 ?...,是弱类型的,同时与data.frame有相同的语法,使用起来更方便。...tibble对data.frame做了重新的设定: tibble,不关心输入类型,可存储任意类型,包括list类型 tibble,没有行名设置 row.names tibble,支持任意的列名 tibble...,会自动添加列名 tibble,类型只能回收长度为1的输入 tibble,会懒加载参数,并按顺序运行 tibble,是tbl_df类型 tibble是data.frame的进化版,有如下优点:生成的数据框数据每列可以保持原来的数据格式..., #convert = FALSE, extra = “warn”, fill = “warn”, …) #data:为数据框 #col:需要被拆分的列 #into:新建的列名,为字符串向量 #sep

    4.2K10

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

    使用arrange()排列行 arrange()函数工作原理和filter()相似,但它不是选择行,而是改变行的顺序。它使用一个数据框和一系列有序的列变量(或者更复杂的表达式)作为输入。...select()选择列 一般我们分析的原始数据集有非常多的变量(列),第一个我们要解决的问题就是缩小范围找到我们需要的数据(变量)。...select()允许我们快速通过变量名对数据集取子集。...这里是任意包含有重复字符的变量。 num_range("x", 1:3)匹配x1,x2,x3。 运行?select查看更多详情。...我们可以使用它的变体函数rename()来给变量重新命名: rename(flights, tail_num = tailnum) ## # A tibble: 336,776 x 19 ##

    4.1K10

    R编程(六:向量类型详解1)

    ,也是S3 对象,此外还有: 因子 因子是基于整型向量改写的S3 对象,而许多的因子实际上由字符串转换而来的: > x3 [1] a b Levels: a b > mode(x3) [1] "numeric...我们在将向量转为因子时,可以使用默认顺序下的levels 或手动设定,此时向量本身顺序并不会改变;但如果对已创建的因子转换levels,则因子本身顺序也会按照levels 的顺序改变。...因子取子集,去除其他不包含levels的方法: 其他 日期 image.png 日期-时间 image.png 时间段 反映的是两段时间的差值: 列表 从大类上,list 是区别于atomic...数据框 识别非法名称 image.png tibble 可以使用运算符号创建 为什么要窄长的ggplot 类型数据,不要长宽数据 转换rownames 的方法: 数据框中定义列表的方法 数据框中定义矩阵与数据框的方法...个人感觉如果存放复杂的或多个纬度的数据,使用tibble会好一点: > dfm <- data.frame( + x = 1:3 * 10 + ) > dfm$y <- matrix(1:9,

    46040
    领券