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

数据处理第3部分:选择行基本和高级方法

在这篇文章,我们介绍如何挑选您数据。 除了filter基础知识外,它还介绍了一些更好方法,用near()和between()挑选数字列,或用正则表达式过滤字符串列。...condition2)返回条件1为真但条件2不为所有行。 *filter(condition1 | condition2)返回满足条件1和/或条件2行。...*filter(xor(condition1,condition2)返回只满足其中一个条件所有行,而不是满足两个条件时。 可以组合多个AND,OR和NOT条件。...: *filter_all()根据您进一步说明过滤所有列 *filter_if()需要一个返回布尔值函数来指示要过滤列。...或者您只是过滤所有列字符串“food”。 在下面的示例代码,我在所有列搜索字符串“Ca”。我想保留在任何变量中出现字符串“Ca”行,所以我条件包装在any_vars()

1.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

R数据科学-2(tidyr)

R数据科学-2 是用于清洗数据工具,如dplyr一样,其中每一列都是变量,每一行都是观察值,并且每个单元格都包含一个值。...“ tidyr”包含用于更改数据集形状(旋转)和层次结构(嵌套和“取消嵌套”),深度嵌套列表转换为矩形数据框(“矩形”)以及从字符串列中提取值工具。...以前是reshape包内容,当然reshape可以做,但是现在tidyr 处理起来更简洁方便,快速。易于理解。 数据长宽转化 创建一个数据df,然后来进行数据长宽转化实例操作。...,如上述例子, 上海id=1有2个,然后重复shanghai2次,5次,3次,形成新增一列。...在tidyr很简单uncount函数就可以实现: uncount(data, weights, .remove = TRUE, .id = NULL) df_c=df_a %>% filter(!

91520

dpois函数_frequency函数

例如,如果我们完全相同代码应用于按日期分组数据框,我们会得到每个日期平均延迟: by_day <- group_by(flights, year, month, day) summarise(by_day...过滤,移除噪音点,移除Honolulu airport,因为它距离大约是下一个最近机场两倍。 这段代码有点繁,因为我们必须为每个中间数据框命名。 命名有时候很难,所以这会减慢我们分析速度。...在查看此类图时,过滤掉具有最少观察数组通常很有用,因此可以看到更多模式,而不是最小组极端变化。这就是下面的代码所做,并向您展示了ggplot2集成到dplyr流便捷模式。...均值是除以长度总和;中位数是一个值,其中50%x高于它,50%低于它。 聚合与逻辑子集相结合有时很有用。我们还没有谈到这种子集化,但你会在子集中了解更多。...过滤提供所有变量,每个观察在一个单独: not_cancelled %>% group_by(year, month, day) %>% mutate(r = min_rank(desc

1.8K10

「R」数据操作(一)

本文内容: 基础函数操作数据框 sqldf包使用SQL查询数据框 data.table包操作数据 dplyr管道操作处理数据 rlist包处理嵌套数据结构 使用内置函数操作数据框 数据框本质是一个由向量构成列表...比如选择满足特定条件行,使用[]符号,第一个参数提供一个逻辑向量,第二个参数留空。 本文大部分代码都是基于一组产品虚拟数据。我们先将数据载入,然后学习怎么用不同方法操作数据。 if(!...一种方法是product_stats按尺寸降序排列,选择前3个记录id,然后用id值筛选product_info行: top3_id = unlist(product_stats[order(product_stats...可以看到数据存在缺失值,有一种叫末次观测值结转法(LOCF)可以填补缺失值,当非缺失值后面紧跟一个缺失值时,就用该缺失值填补后面的缺失值,直到所有缺失值都被填满。...> as.Date, as.Date.numeric na.locf(c(1, 2, NA, NA, 3, 1, NA, 2, NA)) #> [1] 1 2 2 2 3 1 1 2 2 同样方法我们可以应用于现在处理数据

1.9K10

非线性回归nls探索分析河流阶段性流量数据和评级曲线、流量预测可视化

当河流水位过程线上升和下降阶段导致相同河流高度不同流量时,就会发生不稳定流。由此产生受滞后影响评级曲线呈现为一个循环而不是一条线。...## 制作要导入文件列表 list.files(path = here("Data ##创建一个空白tibble来填充 tibble() ## 遍历文件路径以读取每个文件...在数据探索过程,每个站点低流量数据明显存在过多噪声。在停滞或接近停滞条件期间,多普勒流量计记录高度可变流速并报告不切实际流量。由于过多数据噪声,从数据记录清除了极低或停滞流量时期。...未来部署需要考虑在什么条件下长期部署是合适。对于像这样小流,定期风暴流部署可能是最合适部署。...## 制作要导入文件列表 file_paths <- paste0(he ".csv")) ##创建一个空白tibble来填充 iq <- tibble() ## 遍历文件路径以读取每个文件 for

1.4K10

MLQuant:基于XGBoost金融时序交易策略(附代码)

在这篇文章我们一系列资产时间序列数据分解成一个简单分类问题,看看机器学习模型能否更好地预测下一个周期方向。目标和策略是每天投资一项资产。...,我们清理一下数据,所有列表放入一个单独数据框,计算每种资产每日收益并创建向上或向下方向,这将是分类模型试图进行预测。...: 我们可以使用nest()函数数据放入方便嵌套,我们可以简单地对其进行map()覆盖并应用rsample包rolling_origin()函数,这样,我们每项资产都将有自己rolling_origin...该函数对我们数据每项资产执行以下操作: 使用样本外t+1(assessment)数据,这些列表绑定到一个dataframe。...接下来,应用functions字符串从tsfeatures包调用函数,这些函数应用于样本analysis数据(每个数据包含100个观测值),这样,我们获得了一个折叠可以将其绑定在一起观测值。

2.8K41

TidyFriday 每天 5 分钟,轻轻松松上手 R 语言(四)

上次推文,我们通过数字和字符进行了简单行筛选,今天我们继续来探讨 filter()进阶用法 今天我们使用 msleep 来进行演示filter()用法,msleep 是一个关于哺乳动物睡眠数据...基于范围过滤 如果我们要筛选某一范围值,可以用两个逻辑条件。...但在某些情况下,需要根据部分内容进行筛选,我们需要一个函数来计算字符串上正则表达式并返回布尔值。只要语句为 TRUE,就会过滤该行。...14.5 ## 4 Deer mouse 11.5 ## 5 African striped mouse 8.70 基于多条件过滤...is.numeric、 is.integer、 is.double、 is.logical、 is.factor等,我们筛选手段 更加丰富了 「filter_at」 filter_at()可以用来筛选给定变量符合某条件观测值

73830

R入门?从Tidyverse学起!

数据整理 tibble格式 R对多变量数据标准保存形式是 dataframe,而tibble是dataframe进化版,它有如下优点: 1....%>% 作用就是iris数据用于管道后面的head函数。...根据条件过滤数据) arrange: reorders rows according to some conditions (根据某一列数据对行排序) select: selects a subset...(对数据分组) 1. filter 只选取Species列,值为virginica数据 (这里也是用到了管道符,filter函数作用于iris数据) ?...统计:broom broom是一个用于数学建模包,以回归分析为例,R各种回归分析往往不会返回一个整齐data frame结果,而broom 则帮助我们直接统计结果转化为data frame格式直接统计结果转化为

2.5K30

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

准备 这部分我们聚焦于如何使用dplyr包,除ggplot2一个tidyverse核心成员。我们将使用nyclights13数据包解释关键概念并使用ggplot2帮助理解数据。...输出显示不同原因是这个数据集是一个Tibble。Tibbles都是数据框data.frame,但经过改良以便于更好(在tidyverse生态)工作。...所有的动词工作都非常相似: 第一个参数都是数据框 随后参数描述了使用变量名(不加引号)对数据框做什么 结果是一个数据框 这些属性一起便利地多个简单步骤串联起来得到一个复杂操作(结果)。...让我们实际来看看这些动词是怎么工作。 使用filter()过滤行 filter()允许我们根据观测值来对数据集取子集。第一个参数是数据框名字,第二和随后参数是用于过滤数据框表达式。...解决这种问题一种有用简写为x %in% y。这将选择符合x属于y行(x是y一个值)。

2.4K11

R 数据整理(十一: 用purrr包实现更花样匿名函数使用)

JSON、YAML等格式转换为R对象就经常具有这种嵌套结构。一般这种类型数据,导入R 后就表现为嵌套列表格式,也就是列表每个元素也都是列表。...除此之外,map 还有其他变种: modify(),输入一个数据自变量和一个函数, 输出与输入数据同类型结果; map2()可以输入两个数据自变量和一个函数, 两个自变量相同下标的元素用函数进行变换...例如, 需要对一组数据分别保存到文件, 就可以数据列表与保存文件名字符型向量作为walk2()两个数据自变量。...purrr包pmap类函数支持对多个列表、数据框、向量等进行向量化处理。pmap不是多个列表等作为多个自变量, 而是将它们打包为一个列表。...其他有用函数 比如keep, 可以专门用来选择数据框各列或列表元素满足某种条件子集, 这个条件一个返回逻辑值函数来给出。

2.4K30

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

,后续参数是条件,这些条件是需要同时满足,另外,条件取 缺失值观测自动放弃,这一点与直接在数据框行下标中用逻辑下标有所不同,逻辑下标中有缺失值会在结果 产生缺失值。...,再转换回长列表,比如: 这个数据问题是 x, y 应该放在两列却合并成一个了,2018 和 2019 应该放在一列却分成了两列。...列表列 nest 与unnest 对于数据框,我们可以使用split 数据框按某列拆分为多个数据框,并储存在列表。...nest 和 unnest 函数,可以子数据框保存在 tibble ,可以保存在 tibble 子数据框合并为一个大数据 框。...实际上,tibble 允许存在数据类型是列表 (list) 列,子数据框就是以列表数据类型保存在 tibble 一列

10.8K30

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

df[c(1,3),1:2] 通过条件语句获得信息 可以直接提取列或行直接按照向量用法进行条件取值。...类型类属依次为tbl_df, tbl, data.frame,用as_tibble()可以一个数据框转换为tibble,或者直接通过tibble 像创建数据框般创建tibble 数据框: t.bp...:775.4 比较factor 变量 对于有条件关系因子变量,ordinal variables,则会返回一个判断布尔值。...R lists 一个R列表包括了各种类型变量,并将他们放置在同一个列表当中,这些变量可以是矩阵、向量、数据集,甚至是其他列表。...列表提取也可以按照类似数据框方式提取。、 需要注意是,列表一个括号提取内容,会返回一个列表列表包含提取内容,只有用两个中括号,才会返回该内容本来格式。

2.8K20

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

列表每个元素对应原来每个元素拆分结果 -(2)列表使用不方便——simplify = T简化结果,简化成矩阵 -(3)注意:之前提到过,矩阵某一列不能单独转换数据类型,需要把矩阵转换成数据框再转换某列数据类型...(stringr) a = read.csv("group.csv") g = str_split(a$title," ",simplify = T) g[,4] # 2.如何把上一题结果Control...ifelse:不符合大于零条件,就再进行一步判断; 练习7-2 # 1.加载deg.Rdata,根据a、b两列值,按照以下条件生成向量x: #a< -1 且b<0.05,则x对应值为down; #...如何挑出30个数里最大五个 -(1)排序 -(2)取最后五个 图片 3.向量/列表隐式循环-lapply() 对列表/向量每个元素实施相同操作 lapply(1:4,rnorm) #批量画图...加载test1.Rdata,两个数据框按照probe_id列连接在一起,按共同列取交集 #2.

3.6K80

「R」用purrr实现迭代

哎呀,我们又复制粘贴了2次代码,因此是不是该思考下如何扩展一个代码让它同时发挥几个函数功能呢?这段代码大部分是一个for循环,而且如果不仔细很难看出3个函数有什么差别。...使用purrr函数替代for循环目的是常见列表问题分解为独立几部分: 对于列表单个元素,我们能找到解决办法吗?如果可以,我们就能使用purrr将该方法扩展到列表所有元素。...因为长度都相同,所以各个参数保存在一个数据框: params = tibble::tribble( ~mean, ~sd, ~n, 5, 1, 1, 10, 5, 3,...例如有一个图形列表一个文件名向量,那么我们就可以使用pwalk()每个文件保存到相应磁盘位置: library(ggplot2) plots = mtcars %>% split(....reduce()函数使用一个“二元函数”(即两个基本输入),将其不断应用于一个列表,直到最后只剩下一个元素。

4.8K20
领券