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

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

R语言︱数据集分组 大型数据集通常是高度结构化的,结构使得我们可以不同的方式分组,有时候我们需要关注单个的数据片断,有时需要聚合不同组内的信息,并相互比较。...一、日期分组 1、关于时间的包都有很多很好的日期分组应用。...介绍一种按照日期范围——例如按照周、月、季度或者年——对其进行分组的超简便处理方式:R语言的cut()函数。...三、split – apply – combine模式——分组处理模式 对数据的转换,可以采用split – apply – combine模式来进行处理: split:把要处理的数据分割成小片断; apply...")],function(x) sum(x)) 4、subset()函数 利用subset()函数进行访问选取数据框的数据更为灵活,subset函数将满足条件的向量、矩阵和数据框子集的方式返回。

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

基因芯片数据分析(一):芯片数据初探

现在最常见的是用于整个基因的表达量分析。它的雏形来自于同位素杂交技术,又如Southern blots或者dot blots。在上世纪九十年代,2维的具有现代意义的基因芯片才在实验室里诞生。...下图为历年来提交至Gene Expression Omnibus数据库的主流芯片厂商的芯片数据统计分布图(数据截止日期为2014年3月1日)。...市场份额的变化有价格的因素,质量的因素,使用习惯的因素,也有受到第二代测序技术冲击的因素。...这里将分别针对四家主流的芯片制造商进行简单的代码示例。这里不解释代码的含义,后面我们的教程会讲解,这里只是让大家对基因芯片数据分析有一个初步的认识。...原始发表时间:2019-10-18 本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

1.1K10

pandas基础:使用Python pandas Groupby函数汇总数据,获得对数据更好地理解

注意,在read_cvs中,包含了一个parse_dates参数,以指示“Transaction Date”列是日期时间类型的数据,这将使以后的处理更容易。...533/交易,有交易日期、购买说明、购买类别和金额(debit借方指现金流出/我们的支出,credit贷方指现金流入/信用卡支付)。...例如,属性groups为我们提供了一个字典,其中包含属于给定名(字典键)索引位置。 图12 要获得特定的,简单地使用get_group()。...然而,.loc方法一次只执行一个操作,而groupby方法自动对每个应用相同的操作。 图15 如果我们要使用.loc方法复制split&apply过程,如下所示。...我们还将.loc与groupby方法进行比较。很明显,后者肯定更易于使用,并且还将结果放回数据框架结构中,这对于进一步处理更为方便。

4.3K50

scRNA分析|自定义你的箱线图-统计检验,添加p值,分组比较p值

在前面scRNA分析|使用AddModuleScore AUcell进行基因集打分,可视化中,基因集评分使用小提琴图或者箱线图进行展示,那如何进行统计检验以及添加P值呢?...本文主要解决以下几个问题 (1)指定统计检验方式(2)指定比较并添加P值(3)任意比较(4)分组比较 (5)使用星号代替P值 等 一 载入R包 数据 使用本文开始的基因集评分的结果 ggpubr...1,指定比较 ggpubr 中使用stat_compare_means函数进行统计学检验,需要是list形式。 假设感兴趣的是Epi,T Myeloid 与 un之间 ,是否有统计学差异?...t.test 或者 wilcox.test . 2, 指定ref 比如想把所有的细胞类型都un进行比较 , 可以通过ref.group 进行设置 p1 + stat_compare_means(method...4,多组之间比较 多组的话method使用anova p1 +stat_compare_means(method = "anova") 5,按照group分组然后比较 按照group进行分组,比较原发转移之间在不同细胞类型之间是否有差异

2.5K20

Fama-French三因子回归A股实证(附源码)

股票规模分组 股票账面市值比分组 分组后计算SMB、HML MKT定义 总结一下 每年五月末,将股票市值等分为两Big(B)、Small(S),将账面市值比30%、40%、40%...04 FF3因子的A股实证 先说明使用的数据 HML、SMB、因变量:使用2009年-2019年全A股月度数据进行计算(用其他频率也可) MKT:MKT的计算比较简单,直接使用中国资产管理研究中心提供的数据了...,账面市值比生成三。...接下来生成这25个组合的收益率数据,用于回归,数据格式如下 横轴25代表25个组合,纵轴代表时间,累计收益率如下 将25个组合数据前面生成的三因子数据合并,进行三因子回归,记录回归的beta、...= pd.DataFrame(r2,columns = ['group','r2']) 运行结果如下,首先看R2 对于金融数据来说,算是比较高的水平了,拟合的还不错。

2.5K12

R tips:EBImage用于定量分析细胞荧光图

EBImage是一个用于图形处理的R包,简洁优雅功能强大,可以完成很多计算机图形处理算法。 本文使用EBImage完成对细胞荧光图的定量分析,数据使用EBImage内置的测试图片。...EBImage的图像对象 先看一下EBImage中对图形的定义,EBImage使用readImage函数读入R,读进来的对象是EBImage包定义的Image对象。...在R中,颜色使用0-1的数值范围,另外matrix在转换为Image对象时,行数会转换为宽度,列数为转换为高度。 图2中为了区分三个图的边界,人工添加了两条边界线。...,再进行阈值化。...上面的显微镜扫描的原始图其实已经是灰度图了,需要再进行阈值化。 可以有两个策略:一个是直接寻找一个阈值,原图减去即可。另一个是本地化策略,比较前景背景的差异决定其阈值化的策略。

1.3K20

R语言一键批量完成差异统计可视化

提供两种可视化方案:柱状图箱线图;差异结果使用两种表示方法:字母进行排序表示,或者两之间连线。...,后又做了aov多重比较。...因此这里我首先对数据进行正态性检验方差齐性检验,判断符合后进行多重比较并选择喜欢的可视化方案(这里我提供了两种可视化方法,分别是:柱状图,箱线图),判断不符合后,进行非参数检验,首先进行kruskal.test...ggpubr + 箱线图 + 连线差异标注 由于两之间的连线需要指定两信息,这里我又想将所有之间的差异展示出来,所以使用combn函数得到分组信息两两匹配的结果,并使用tapply结合函数将矩阵改变为列表...同样非参数检验也使用类似的方法进行两两比对,但是就两之间的显著性结果转化为字母标记,我并没有实现,大家如果有想法,多多赐教。

4.1K30

R语言中的apply函数族

前言 apply函数族是R语言中数据处理的一核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。...很多R语言新手,写了很多的for循环代码,也不愿意多花点时间apply函数的使用方法了解清楚,最后把R代码写的跟C似得。...简介 由于R语言的apply家族函数是用C写的,所以使用apply进行遍历的执行效率远远高于自己编写的循环语句。...apply函数可以对矩阵、数据框、数组(二维、多维),或列进行循环计算,对子元素进行迭代,并把子元素以参数传递的形式给自定义的FUN函数中,并返回计算结果。...,此外,它还可以对data.frame数据集进行循环,但如果传入的数据集是一个向量或矩阵对象,那么直接使用lapply就不能达到想要的效果了,lapply会分别循环矩阵中的每个值,而不是进行分组计算

4.3K52

Pandas_Study02

或 向后 填充数据,依旧使用fillna 方法,所谓向前 是指 取出现NaN值的前一列或前一的数据来填充NaN值,向后同理 # 在df 的e 这一列上操作,默认下操作,向前填充数据,即取e列中最近的一个不为...对series 使用apply # 对series 使用apply ,会将series 中的每个元素执行操作 s = pd.Series(np.arange(2,6)) s.apply(lambda...x : 2 * x) 对dataframe 使用apply # 对df 使用apply,都是列操作,不能保证对每一个元素进行操作 df = pd.DataFrame(val, index=idx..., columns=col) # 操作,对数据求和 print(type(df.apply(lambda col: col.sum(), axis='rows'))) # 列操作,对数据求和 print...1. datetime 模块 Python的datetime标准模块下的 date子类可以创建日期时间序列的数据 time子类可创建小时分时间数据 datetime子类则可以描述日期小时分数据 import

17610

数据导入与预处理-第6章-02数据变换

pivot()函数如下: DataFrame.pivot(index=None, columns=None, values=None) index:表示新生成对象的索引,若未指定说明使用现有对象的索引...pivot_table透视的过程如下图: 假设某商店记录了5月6月活动期间不同品牌手机的促销价格,保存到以日期、商品名称、价格为列标题的表格中,若对该表格的商品名称列进行轴向旋转操作,即将商品名称一列的唯一值变换成列索引...,商品一列的唯一数据变换为列索引: # 将出售日期一列的唯一数据变换为索引,商品一列的唯一数据变换为列索引 new_df = df_obj.pivot(index='出售日期', columns='商品名称...与前几种聚合方式相比,使用apply()方法聚合数据的操作更灵活,它可以代替前两种聚合完成基础操作,另外也可以解决一些特殊聚合操作。...pandas中使用cut()函数能够实现面元划分操作,cut()函数会采用等宽法对连续型数据进行离散化处理。

19.2K20

R语言 | 差异箱线图的绘制

第一步、准备数据 数据格式如下(未截全,展示部分): 第二步、运行代码 将数据导入Rstudio中,复制粘贴以下代码即可出图: #安装并加载ggplot2ggpubr install.packages...("ggplot2") install.packages("ggpubr") library(ggplot2) library(ggpubr) #设置工作目录(这里注意R中'/'Windows中'...) #将Treatment转换成因子型变量 data$Treatment=factor(data$Treatment, levels=group) #获得Treatment中元素之间的组合,即:设置比较...(将所有实验组分成两两一组进行后续比较) comp=combn(group,2) my_comparisons=list() for(i in 1:ncol(comp)){my_comparisons[...axis.text.x=element_text(size=15)) #绘图 #stat_compare_means(comparisons = my_comparisons):指定需要进行比较以及添加

4.1K21

妈妈再也不用担心我忘记pandas操作了

查看、检查数据: df.head(n) # 查看DataFrame对象的前n df.tail(n) # 查看DataFrame对象的最后n df.shape() # 查看行数列数 df.info...() # 查看索引、数据类型内存信息 df.describe()# 查看数值型列的汇总统计 s.value_counts(dropna=False) # 查看Series对象的唯一值计数 df.apply...降序排列数据 df.groupby(col) # 返回一个列col进行分组的Groupby对象 df.groupby([col1,col2]) # 返回一个多列进行分组的Groupby对象 df.groupby...(col1)[col2] # 返回列col1进行分组后,列col2的均值 df.pivot_table(index=col1, values=[col2,col3], aggfunc=max) # 创建一个列...col1进行分组,并计算col2col3的最大值的数据透视表 df.groupby(col1).agg(np.mean) # 返回列col1分的所有列的均值 data.apply(np.mean)

2.2K31

Linux shell 程序设计3——命令行程序

1、date:显示、设置系统的日期时间。...%H %M' 以一定的格式显示时间日期信息,常见有如下的格式: %d :显示日 $date +'%d' 30 %D :显示日期 $date +'%D' 01/30/11 %e :不足二位数的部分不用...码的首字母对文件的做排序 sort file1 :ascii码值增大的顺序 sort -r file1:ascii码值减少的顺序 sort -n file1:字符串比较 sort -k 2...file1:字符串比较每行的第二个字段 sort -nk 2 file1:数值比较每行的第二个字段 sort -nr +2 -t: /etc/passwd :+2表示跳过前两个字段,-t: 表示该:...-name *.txt | xargs -n 2 diff 将找到的.txt文件以两个一的方式交给diff进行比较 17、以下格式可执行多个命令: A、命令1;命令2;命令3...

1.4K60

首次公开,用了三年的 pandas 速查表!

df['增幅'] = df['国内生产总值'] - df['国内生产总值'].shift(-1) df.tshift(1) # 时间移动,周期 # 上相同,diff 函数是用来将数据进行移动之后与原数据差...(lambda x: x.sum(), axis=1) # 对指定行进行 col_list= list(df)[2:] # 取请假范围日期 df['总天数'] = df[col_list].sum(...col进行分组的Groupby对象 df.groupby([col1,col2]) # 返回一个多列进行分组的Groupby对象 df.groupby(col1)[col2] # 返回列col1进行分组后...,列col2的均值 # 创建一个列col1进行分组,并计算col2col3的最大值的数据透视表 df.pivot_table(index=col1, values=[col2...时间序列 # 时间索引 df.index = pd.DatetimeIndex(df.index) # 时间只保留日期 df['date'] = df['time'].dt.date # 将指定字段格式化为时间类型

7.4K10

收藏 | 97条 Linux 常用命令总结

删除文件夹 -f 删除不提示 -i 删除提示 -v 详细显示进行步骤 6.touch [选项] 文件 | 创建空文件或更新文件时间 -a 只修改存取时间 -m 值修改变动时间 -r eg:touch...-r a b ,使b的时间a相同 -t 指定特定的时间 eg:touch -t 201211142234.50 log.log -t time [[CC]YY]MMDDhhmm[.SS],...与使用者或名有关的参数: -uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID -gid n :n 为数字,这个数字是名的 ID,亦即 GID -user name...36.w 登录在本机的用户及其运行的程序 -s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业程序所耗费的CPU时间。 -h  不显示各栏位的标题信息列。...-i 不检查大小写 -q 仅显示差异而不显示详细信息 eg: diff a b > parch.log 比较两个文件的不同并产生补丁 75.date [参数]… [+格式] | 显示或设定系统的日期时间

98920
领券