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

懒癌必备-dplyr和data.table让你的数据分析事半功倍

以外的所有列 distinct( ) 去重 distinct(df,V1,V2) 根据V1和V2两个条件来进行去重 在基础包里面也有一个去重函数unique() ※注意distinct()可以针对某些列进行去重...mutate( ) 为数据增加新列 mutate(df,vnew1=v1-v2,vnew2=vnew1+v3) 与基础包里的transform()函数接近,但mutate可以使用你刚刚创建的column...group_by和summarise的结合实现了对数据集分组分析,并进行统计量计算的一个功能。...(v1,v2)] 回顾一下我们在上一节最后保留的一段代码: group_by() groupedgroup_by(df,v1,V2) #data被v1,v2进行分组 newdatagroup_by和summarise组合才能实现的功能,直接在一句代码里面就实现了,而且代码的可读性和可扩展运用性非常强!

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

    tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)

    使用tidyverse进行简单的数据处理: 盘一盘Tidyverse| 筛行选列之select,玩转列操作 盘一盘Tidyverse| 只要你要只要我有-filter 筛选行 Tidyverse|数据列的分分合合...一 summarize汇总 汇总函数 summarise(),可以将数据框折叠成一行 ,多与group_by()结合使用 1.1 summarise完成指定变量的汇总 统计均值,标准差,最小值,个数和逻辑值...分组汇总 group_by() 和 summarise() 的组合构成了使用 dplyr 包时最常用的操作之一:分组摘要 2.1 按照Species分组,变量汇总 iris %>%...iris %>% group_by(Species) %>% summarise( n_pet_len = n(), noNA_n_pet_len = sum...这使得 sum() 和 mean() 非常适用于逻辑值:sum(x) 可以找出 x 中 TRUE 的数量, mean(x) 则可以找出比例 . iris %>% group_by(Species

    2.5K60

    生信代码:数据处理( tidyverse包)

    大家在学习R语言的时候,大多参考《R语言实战》这本书,但这本书年代过于久远(中文第二版是2016年),主要着力点也是在R base上,R语言可视化的ggplot2包也只是简要介绍,而对于tidyverse...dplyr包下主要是以下几个操作: select()——选择列 filter/slice()——筛选行 arrange()——对行进行排序 mutate()——修改列/创建列 summarize(...x2=c(3,4,2,8)) ##传统方法 mydata$sum <- mydata$x1+mydata$x2 mydata <-transform(mydata,sumx=x1+x2) attach...(mydata) sum <- x1+x2 detach(mydata) ##dplyr mydata %>% mutate(sumx=x1+x2, meanx...start_with("n")) 3 filter() filter()是对数据行方向的选择和筛选,选出符合我们条件的某些行: df %>% filter( type== "english", score

    2.1K10

    2-SQL语言中的函数

    求和,avg 平均值,max 最大值,min 最小值 特点: sum,avg可以处理数值型数据,max,min,count可以处理任何类型数据 以上几个分组函数都会自动忽略null值 可以和distinct...可以和distinct搭配使用 */ # sum求和 SELECT SUM(salary) FROM employees; # avg求平均值 SELECT AVG(salary) FROM employees...利用having语句筛选,位置在group_by字句的后面 # 分组查询 /* 语法: SELECT 分组函数,列(要求出现在group_by后面) FROM 表 【WHERE 筛选条件】 GROUP...BY 分组列表 【ORDER BY 子句】 注意:查询列表比较特殊,要求是分组函数和group_by后出现的字段 分组查询中的筛选可以分为两类 1....应用场景:要查询结果来自多个表,且多个表没有直接的连接关系,单查询的信息一致 特点: 要求多条查询语句的查询列数是一致的 要求多条查询语句每一列的类型和顺序最好是一致的 UNION关键字会自动去重,如果不想去重可以使用

    2.8K10

    「R」数据操作(八):dplyr 的 do, do, do

    和data.table不同的是,我们需要为操作指定一个名称,以便将结果存储在列中。而且do()表达式不能直接在分组数据的语义下计算 ,我们需要使用.来表示数据。...data("diamonds", package = "ggplot2") models = diamonds %>% group_by(cut) %>% do(lmod = lm(...该列不是典型的原子向量,每个元素都是模型的结果,包含线性回归对象的列表。...假如我们需要分析toy_tests数据,要对每种产品的质量和耐久性进行汇总。如果只需要样本数最多的3个测试记录,并且每个产品的质量和耐久性是经样本数加权的平均数,下面是做法。...( quality = sum(quality * sample) / sum(sample), durability = sum(durability * sample

    1.7K31

    R数据科学|3.6习题解答

    哪一列才是最重要的? 解答 如果一架飞机从来没有离开过,那么它就不会到达。如果飞机坠毁,飞机也可能离开而没有到达,或者飞机改道而降落在目的地以外的机场。...因此,最重要的列是arr_delay,它表示到达延误次数。 问题四 查看每天取消的航班数量。其中存在模式吗?已取消航班的比例与平均延误时间有关系吗?...na.rm = TRUE)) %>% arrange(desc(arr_delay)) 通过比较每个航空公司的平均延误和同一航线内航班的平均延误(从同一出发地到同一目的地的航班),你可以弄清机场和航空公司的影响...is.na(arr_delay)) %>% group_by(origin, dest, carrier) %>% summarise( arr_delay = sum(arr_delay...), flights = n() ) %>% group_by(origin, dest) %>% mutate( arr_delay_total = sum(arr_delay

    3.8K30

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

    一、日期分组 1、关于时间的包都有很多很好的日期分组应用。...2.aggregate函数不能对分组后的数据进行多种汇总计算,因此要用两句代码分别实现sum和max算法,最后再用cbind拼合。显然,上述代码在性能和易用性上存在不足。...3.Lapply函数也不支持多种统计方法,因此也要用两句代码分别实现sum和max算法,最后再用cbind拼合。另外,本算法还要额外用到split函数,因此在易用性上没有改进,反而是更差了。...(x) max(x$AMOUNT)) result<-cbind(result1,result2) tapply 专用于数据框,按理说最适合解决本案例,但事实并非如此。...##对于数据框 x是对象,subset是保留元素或者行列的逻辑表达式,对于缺失值用NA代替。 Select 是选取的范围,应小于x。

    20.9K32

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

    进行变量筛选: 脚本输入代码: myFlights 列...由于本次分析的目标是找出航行距离与到达延误时间的关系,所以我们得根据到达目的地对数据进行分组,从而计算出不同目的地的平行航行距离以及平均延误时间; 应用函数(Apply):对不同组的数据,应用相应函数获取所需统计指标...拿上述的代码进行举例,在没用管道之前,代码是这样的: by_dest group_by(myFlights, destination)#按目的地分组 delay_sum <- summarise(...#显示列表 用了管道“%>%”,代码是这样的: delay_sum % #将右侧航行数据赋值给左侧delay_sum group_by(destination) %>% #...由上图,我们就可以初步分析航程和延误时间并非线性关系,至于这种非线性关系该怎么解释,仍需进一步统计调查分析。

    3.1K40

    R数据科学|3.6内容介绍

    上节我们对选择现有的列和使用mutate添加新列做了介绍。现在对数据框使用summarize()进行分组摘要进行介绍。...group_by() 和 summarize()的组合构成了使用 dplyr 包时最常用的操作之一:分组摘要。...例如,如果对按日期分组的一个数据框应用与上面完全相同的代码,那么我们就可以得到每日平均延误时间: by_day group_by(flights, year, month, day) summarize...# A tibble: 1 × 2 #> year flights #> #> 1 2013 336776 注意:在循序渐进地进行摘要分析时,使用求和与计数操作是没问题的,但如果想要使用加权平均和方差的话...换句话说,对分组求和的结果再求和就是对整体求和,但分组中位数的中位数可不是整体的中位数。

    1K20

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

    使用mutate()添加新变量 除了选择已存在的列,另一个常见的操作是添加新的列。这就是mutate()函数的工作了。 mutate()函数通常将新增变量放在数据集的最后面。...batters % group_by(playerID) %>% summarize( ba = sum(H, na.rm = TRUE) /...有用的汇总函数 仅仅使用均值、计数和求和这些函数就可以帮我做很多事情,但R提供了许多其他有用的汇总函数: 位置度量 我们已经使用过mean()函数求取平均值(总和除以长度),median()函数也非常有用...有时候整合聚集函数和逻辑操作符是非常有用的: not_cancelled %>% group_by(year, month, day) %>% summarize( #...这让sum()与mean()变得非常有用,sum(x)可以计算x中TRUE的数目,mean()可以计算比例: # 多少航班在5点前离开 not_cancelled %>% group_by(year

    2.6K20

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

    掌握基本操作:学习如何插入、删除行/列,重命名工作表,以及基本的数据输入。 使用公式:学习使用Excel的基本公式,如SUM、AVERAGE、VLOOKUP等,并理解相对引用和绝对引用的概念。...自定义排序:点击“排序和筛选”中的“自定义排序”,设置排序规则。 6. 筛选 应用筛选器:选中数据区域,点击“数据”选项卡中的“筛选”按钮。 筛选特定数据:在列头上的筛选下拉菜单中选择要显示的数据。...错误检查:使用Excel的错误检查功能识别和修复常见错误。 函数库 使用Excel函数库:利用Excel提供的大量预定义函数进行复杂的数据处理。...sorted_data % arrange(desc(some_column)) 分组求和:使用group_by()和summarise()进行分组汇总。...grouped_data % group_by(group_column) %>% summarise(sum = sum(numeric_column)) 合并数据:使用

    23810

    Python面试十问2

    Pandas提供了一系列内置函数,如sum()、mean()、max()、min()等,用于对数据进行聚合计算。此外,还可以使用apply()方法将自定义函数应用于DataFrame或Series。...df1的末尾 df1.append(df2) 第⼆个DataFrame的索引值保留在附加的DataFrame中,设置ignore_index = True可以避免这种情况。...先分组,再⽤ sum()函数计算每组的汇总数据  多列分组后,⽣成多层索引,也可以应⽤ sum 函数 分组后可以使用如sum()、mean()、min()、max()等聚合函数来计算每个组的统计值。...如果想要对每个分组应用多个函数,可以使用agg()方法,并传入一个包含多个函数名的列表,例如group_1.agg(['sum', 'mean'])。...透视表是一种强大的数据分析工具,它可以快速地对大量数据进行汇总、分析和呈现。

    8810

    MySQL的行转列

    MySQL的行转列操作 在MySQL中,经常会遇到行转列和列转行的操作,今天来看看这种问题的解决办法,先来说说行转列。...1 case when操作方法 要实现上面的功能,我们需要进行分析,首先,我们需要生成三个列,分别是数学,语文和英语,然后给每个列中的值填入对应的数据。...(user_name)的操作,而group_by操作需要和一些聚合函数(MAX,MIN,AVG,SUM,COUNT等)进行搭配。...由于每条记录中只包含当前学科的成绩,其他学科的成绩为0,所以我们使用MAX函数和SUM函数的结果是相同的,但是不能使用AVG函数和MIN函数,这应该很好理解吧。...sum或者max的方法,最后一个列一定要使用sum的方法,因为我们要求的是总成绩,使用max的方法会导致取值变为分数最高的那个值。

    13.2K10

    数据科学 IPython 笔记本 7.7 处理缺失数据

    例如,R 语言使用每种数据类型中的保留位组合,作为表示缺失数据的标记值,而 SciDB 系统使用表示 NA 状态的额外字节,附加到每个单元。...在所有可用的 NumPy 类型中保留特定的位组合,将产生各种类型的各种操作的大量开销,甚至可能需要 NumPy 包的新分支。...也就是说,附加了一个独立的布尔掩码数组的数组,用于将数据标记为“好”或“坏”。Pandas 可能源于此,但是存储,计算和代码维护的开销,使得这个选择变得没有吸引力。...取决于应用,你可能需要其中一个,因此dropna()为DataFrame提供了许多选项。...(axis='columns') 2 0 2 1 5 2 6 但这也会丢掉一些好的数据; 你可能更愿意删除全部为 NA 值或大多数为 NA 值的行或列。

    4.1K20
    领券