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

R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)

R语言︱数据集分组 大型数据集通常是高度结构化的,结构使得我们可以按不同的方式分组,有时候我们需要关注单个组的数据片断,有时需要聚合不同组内的信息,并相互比较。...介绍一种按照日期范围——例如按照周、月、季度或者年——对其进行分组的超简便处理方式:R语言的cut()函数。...在base包里和split功能接近的函数有cut(对属性数据分划),strsplit(对字符串分划)以及subset(对向量,矩阵或数据框按给定条件取子集)等。...")],function(x) sum(x)) 4、subset()函数 利用subset()函数进行访问和选取数据框的数据更为灵活,subset函数将满足条件的向量、矩阵和数据框按子集的方式返回。...5、which定位函数 功能:返回服从条件的观测所在位置(行数),有一定的排序功能在其中。

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

    生信星球——生信入门DAY6:学习R包

    ="https://mirrors.ustc.edu.cn/bioc/") 先安装,再装载install.packages("dplyr")library(dplyr)(library() : library...如没有参数package即library(),则列出lib.loc指定的库中的所有可用包。library(help=package)将返回package的基本信息。...从该文件读取和分析输入,直到到达文件的结尾,然后在选定的环境中按顺序解析表达式。简单来讲,library更像装载,require不会报错,source装载的方式则不太一样。...分组,再计算均值和标准差同时,对于这样一组简单的数据,用管道操作也可以达成相同的目的,但是更有趣test %>% group_by(Species) %>% summarise(mean(Sepal.Length...test1, y = test2, by = 'x') #半连接,与y表匹配的x表所有记录(即以y为条件的x)anti_join(x = test2, y = test1, by = 'x') #反连接

    14310

    R语言数据框深度解析:从创建到数据操作,一文掌握核心技能

    # 数据统计摘要 dim(df) # 数据框的行和列数 read.csv()函数是 R 的基础函数,功能强大,但对于文件的要求较为严格,比如:文件必须是 CSV 格式(用逗号分隔的数据);文件的分隔符必须是逗号...1列和第3列 df[1:3, ] # 获取前 3 行 df[, c("Name", "Score")] # 获取指定列 df[df$Score > 85, ] # 条件筛选 添加与删除列 df$Pass...= 80 # 添加“Pass”列 df$Pass <- NULL # 删除“Pass”列 数据排序 按列排序 df 按“Score”降序排列 数据分组与聚合 #使用 `aggregate` 聚合 aggregate(Score ~ Gender, data = df, FUN = mean...) # 按“Gender”分组求均值 #使用 `dplyr` 包分组 library(dplyr) df %>% group_by(Gender) %>% summarise(Average_Score

    17510

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

    全文并非是对数据整理的实操整理,主要整理在数据整理/清洗中常用的R包介绍 library(tidyr) library(dplyr) library(stringr) library(tibble) 1...str_split(y," ",simplify = T) #"simplify"参数默认拆分取为matrix str_split(y," ",simplify = T) [,1] #只拆分提取第1列 1.3 按位置提取字符串...>,,) x = rnorm(3) x ifelse(x>0,"+","-") ★★★★★ifelse()+str_detect(),条件筛选的王炸组合★★★★★ samples...() %>% #将行名转化为1列 mutate(group = rep(c("control","treat"),each = 3)) #对data.frame新增一列分组信息 # 宽变长操作 pdat...dir() # 列出工作目录下的文件 dir(pattern = ".R$") #列出工作目录下以.R结尾的文件 file.create("douhua.txt") #用代码创建文件 file.exists

    23900

    R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)

    2、按条件行筛选 从前用subset的方式进行筛选比较多, new=14,select=a:f) (1)单变量 现在data.table与dplyr from_dplyr =...用filter,content满足某种条件的进行筛选,而data.table的筛选方式很传统,比较简单。...DT数据集按照x分组,然后计算v变量的和、最小值、最大值。 (2)dplyr函数利用%>%(链式操作)来改进: 链式操作是啥意思呢?...%>%的功能是用于实现将一个函数的输出传递给下一个函数的第一个参数。注意这里的,传递给下一个函数的第一个参数,然后就不用写第一个参数了。在dplyr分组求和的过程中,还是挺有用的。...(x)] 还有 data$x 如果有很多名字很长的指标,data.table中如果按列进行遍历呢? data[,1]是不行的,选中列的方式是用列名。

    9.3K43

    生信学习小组day6--大姚

    * Sepal.Width) 上述一串代码意思是新增一列列名为“new”、数值是Sepal.Length * Sepal.Width的列 2.select(),按列筛选 select(test,1)...# 筛选条件是Species == "setosa" filter(test, Species == "setosa"&Sepal.Length > 5 )##在第一行代码的基础上增加一个筛选条件,要同时满足这两个筛选条件...",只要满足其中一个筛选条件就能被筛选 4.arrange(),按某1列或某几列对整个表格进行排序 从小到大排序: arrange(test, Sepal.Length) 从大到小排序: arrange...# 以下两条代码的意思是先按照Species分组,计算每组Sepal.Length的平均值和标准差 group_by(test, Species) summarise(group_by(test, Species...group_by函数使用,也可以将分组后的species数据传递给summarise函数使用 test %>% group_by(Species) %>% summarise(mean(Sepal.Length

    81800

    R语言数据处理:飞机航行距离与到达延误时间有什么关系??

    数据分析有一半以上的时间会花在对原始数据的整理及变换上,包括选取特定的分析变量、汇总并筛选满足条件的数据、排序、加工处理原始变量并生成新的变量、以及分组汇总数据等等。...1.dplyr包的安装加载与示例数据准备 1.1 安装dplyr包 脚本输入代码: install.packages("dplyr") #加载dplyr包 library(dplyr) 1.2安装 nycflights13...3.1 数据分组 dplyr包里的分组是由group_by()函数实现的,脚本输入代码: by_dest <- group_by(myFlights, destination) class(by_dest...这种运算符的编写方式使得编程者可以按数据处理时的思路写代码, 一步一步操作不断叠加,在程序上就可以非常清晰的体现数据处理的步骤与背后的逻辑。...拿上述的代码进行举例,在没用管道之前,代码是这样的: by_dest 按目的地分组 delay_sum <- summarise(

    3.1K40

    Day6 呦呦鹿鸣—学习R包

    )以dplyr包为例 官方包的文档dplyr示例数据test 的iris数据第1,2,51,52,101,103行?...x + y)2.select(),按列筛选,按名称选择变量(1)按列号筛选select(test,1)# 筛选test数据集的第一列iris %>% select(1:3)# 筛选iris数据集的第一到第三列...(2)按列名筛选select(test, Petal.Length, Petal.Width)iris %>% select(Species, Sepal.Length)3.filter()筛选行/返回具有匹配条件的行可以按照某分类变量的值进行数据筛选...summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length)) # 先按照Species分组,计算每组Sepal.Length...2个表进行连接1.內连inner_join,取交集inner_join(test1, test2, by = "x")满足两个条件:有相同变量名,相同变量名的列里有相同元素;2.左连left_join列表书写顺序决定了最终合成列表中列的顺序

    17110

    两个神奇的R包介绍,外加实用小抄

    expand(列出每列值所有可能的组合,天哪我是写到这里的时候刚看懂的!) 来看示例 ? ? 我是看到了结果才知道我干了啥的喂。就是选中的列中的值各种组合,成为一个新表。...二、Dplyr能实现的小动作 1.arrange 排序 按某一/两列值的大小,按照升/降对行排序。...3.distinct 去除重复行(其实就是列出某一列所有的不同值) distinct(frame1,geneid) distinct(frame1,geneid,Sampleid)#列出这两个值都重复的行...(更有意义),请注意这里分组的函数。...") 两种办法拼起来~ 一个是R自带的rbind,一个是dplyr里的bind_rows 按行拼接时,列数、列名需要一致 rbind(frame1,frame4)# frame1 %>%bind_rows

    2.5K40

    快速掌握R语言中类SQL数据库操作技巧

    3.from:数据合并/连接 4.where:条件筛选/过滤 5.group:分组 6.having和select:呈现不明显 7.order:排序 8.其他补充 目录 1....参考→《R语言 数据(集)合并与连接/匹配 | 专题2》 4.过滤/筛选 过滤,是对数据集按照某种规则进行筛选,去掉不符合条件的数据,保留符合条件的数据。...可参考↓↓ R语言 | 第一部分:数据预处理 7.数据筛选和8.抽样 R语言数据管理与dplyr、tidyr | 第4讲 5 dplyr中5.1筛选filter和5.3选择select R...subset(airquality, Temp > 80, select = c(Ozone, Temp)) 4.3 数值分段 数值分段,就是把一个连续型的数值型数据,按区间分割为因子类型的离散型数据...此处仅讲述aggregate数据分组计算内容,更多分组计算内容 参考→《R语言 分组计算,不止group_by》 dplyr包中的group_by联合summarize group_by和summarise

    5.7K20

    餐桌上的数据大战

    【摘要】大数据时代,不仅天气可以预测,土壤也可以进行数据分析。大数据可以保证食品质量,更可以保证食品安全,例如让国人忧心忡忡的牛奶。   ...2009年奥巴马政府提出Data.gov,按原始数据、地理数据和数据工具三个门类组织开放的数据。...Cognos是IBM旗下一款财务报告分析软件,Sun World公司的预算和报告主管Steve Greenwood将许多不同的数据库的劳力、能源和价格数据整合到Cognos进行分析,了解不同工人分组的采摘速度...这并不是要榨取工人们的剩余价值,只是因为对于葡萄园而言,时间是非常宝贵的。葡萄的收获季只持续大约6周时间,从7月初到8月中。...Sun World的主管希望能引进一种新的棚架,增加了1英寸调度,使得工人们能够站着摘葡萄,但他们并不确定新设备的投入回报比是否足够高。

    62490

    2020线下商圈洞察报告:杭州商圈人流恢复率超80%

    “随着国内全面复工复产,“促消费强市场”成了下一阶段日常生活中的关键词。3月中旬,四川、安徽两省率先发声可有条件地摘口罩,南京、杭州、深圳等多地相继向市民发放消费券,鼓励大家出门消费。...从线下商圈人流恢复趋势来看,北上深广四大一线城市中,北京的线下商圈人流一直处于稳步回升的态势;深圳的线下商圈人流从复工第二周(2月10日-2月16日)开始按下了恢复的快进键;上海的线下商圈人流恢复程度从复工第三周...数据显示,复工第一周(2月3日-2月9日)和第二周属于最严防控期,在经历两个星期的闭店后,杭州线下商圈人流仅为春节前普通一周周平均人流量的11.77%。...南京在复工第七周(3月16日-3月22日)率先发放了消费券,刺激市民消费,其复工第七周的线下商圈人流恢复率达63.84%,之后又增长至72.36%。...成都自复工第二周起,逐步恢复了线下消费,再加上四川在复工第七周率先提出“可有条件地摘口罩”,成都的线下商圈人流恢复率从复工第七周到复工第八周提升超7%。

    64240

    使用R或者Python编程语言完成Excel的基础操作

    条件格式:学习如何使用条件格式来突出显示满足特定条件的单元格。 图表:学习如何根据数据创建图表,如柱状图、折线图、饼图等。 数据排序和筛选:掌握如何对数据进行排序和筛选,以查找和组织信息。...安装和加载必要的包 install.packages("dplyr") install.packages("tidyr") library(dplyr) library(tidyr) 基础操作 读取数据...通过dplyr和tidyr包,我们可以轻松地对数据进行复杂的操作。 在R语言中,即使不使用dplyr和tidyr这样的现代包,也可以使用基础包中的函数来完成数据操作。...,并且不如dplyr和tidyr这样的专用包那样直观和方便。...x: int(x[-2]), reverse=True) 分组求和 分组求和在不使用Pandas的情况下会相对复杂,需要手动实现分组逻辑: # 假设我们要按 'Store' 分组求 'Sales'

    23810
    领券