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

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

2、按条件筛选 从前用subset方式进行筛选比较多, new=14,select=a:f) (1)单变量 现在data.tabledplyr from_dplyr =...在筛选列变量数据,也可以%in%集合运算联用(集合运算见博客:R语言︱集合运算)。...DT数据集按照x分组,然后计算v变量和、最小最大。 (2)dplyr函数利用%>%(链式操作)来改进: 链式操作是啥意思呢?...返回匹配到键值所在列(V2列)所有包含变量值A或D所有: DT[c("A","D"), nomatch = 0] V1 V2 V3 V4 1: 1 A -1.1727 1 2: 2 A...—————————————————————— 实战一:在data.table如何选中列,如何循环提取、操作data.table列?

7.2K43

代码对日期插

我们看到每个id对应date都是有缺失,例如从2001-01-09直接跳到了2001-01-12,当中少了10号和11号。 如何只用一代码就高效优美地把这些缺失日期补上呢?...在merge过程,我们指定id和date变量必须匹配,也即on = .(id, date)语句作用: # 把CJ函数merge回原始数据集 dt[CJ, on = ....例如,在我们样例数据集sample,id=1观测对应日期最小为01-08,最大为01-14,而我们希望填充这两个日期“之间所有。...同理,对于id=2观测,日期最大为02-09,最小为02-12,我希望填充就是02-10,02-11这两天。...思路和情况1类似,我们先构造CJ数据集,只不过在这里我们seq函数起讫点不再是固定,而是每个id对应日期最大最小: # 建立完整日期序列 # 注意min和max函数作用 CJ <- dt

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

R语言通过loess去除某个变量对数据影响

当我们想研究不同sample某个变量A之间差异时,往往会因为其它一些变量B对该变量固有影响,而影响不同sample变量A比较,这个时候需要对sample变量A进行标准化之后才能进行比较。...,此时残差值就可以作为标准化A在不同sample之间进行比较。...在Rloess 函数是以lowess函数为基础更复杂功能更强大函数。...主要思想为:在数据集合每一点用低维多项式拟合数据点一个子集,并估计该点附近自变量数据点所对应变量值,该多项式是用加权最小二乘法来拟合;离该点越远,权重越小,该点回归函数值就是这个局部多项式来得到...在实际应用,往往先选定f,再根据f和n确定q取值,一般情况下f取值在1/3到2/3之间。qf取值一般没有确定准则。

1.9K80

CSV数据读取,性能最高多出R、Python 22倍

由于Pandas不支持多线程,因此报告所有数据均为单线程速度。 浮点型数据集 第一个数据集包含以1000k和20列排列浮点。 ? Pandas需要232毫秒来加载此文件。...单线程CSV.jl是没有多线程Pandas(Python)1.5倍,而多线程CSV.jl可以达到11倍。 字符串数据集 I 此数据集在且具有1000k和20列,并且所有列不存在缺失。 ?...字符串数据集 II 该数据集大小字符串数据集 I 相同。区别在于,其每一列是存在缺失。 ? Pandas需要300毫秒。...价格四个列是浮点,并且有一个列是日期。 ? 单线程CSV.jl比从data.table读取R速度快约1.5倍。 而多线程,CSV.jl速度提高了约22倍!...但是,使用更多线程,Julia速度R一样快或稍快。 宽数据集 这是一个相当宽数据集,具有1000和20k列。数据集包含数据类型有:String、Int。 ?

2K63

R语言基因组数据分析可能会用到data.table函数整理

版权声明:本文为博主原创文章,转载请注明出处 R语言data.table包是自带包data.frame升级版,用于数据框格式数据处理,最大特点快。...因此,在对大数据处理上,使用data.table无疑具有极高效率。这里主要介绍在基因组数据分析可能会用到函数。...,默认Windows是"\r\n",其它是"\n"; na,na 表示,默认""; dec 小数点表示,默认"...by ]语法做 但是如果我要将上述DTv3作为一个影响因素,作为tag,先按v1、v2汇总,再将对应v4分为v3=1和v3=2两类,查看v1、v2取值相同v3不同对应v4情况,这个时候用dcast...by.y默认key(y); maxgap 设定两个区域空白区允许最大,参数尚不能使用; minoverlap 设定两个区域最小重叠区,参数尚不能使用; type

3.2K10

R练习50题 - 第一期

写在前面 从这期开始,大猫课堂将会推出一个新系列:R练习50题,目的是使用50道练习题让大家掌握常用数据操作,例如寻找每组最大N个观测等。...boolean vector,长度原向量相同。...unique:找出symbol不重复。 在data.table语法,先进行列选择操作,再对列进行处理。所以上述语句会先执行str_detect,再执行unique。...其中,updown是我们新建字符变量,用来表示分组,它只取两个:UP, DOWN。这其中难点是建立updown这个变量。我们使用了ifelse这个函数。...代码第二生成了一个新变量num。由于在keyby语句中我们已经按照日期涨跌进行了分组,所以这一步我们只需要统计每个组有多少个股票就可以了。我们在这里使用了uniqueN这个函数。

2.4K40

R语言数据分析利器data.table包 —— 数据框结构处理精讲

版权声明:本文为博主原创文章,转载请注明出处     R语言data.table包是自带包data.frame升级版,用于数据框格式数据处理,最大特点快。...将一个R对象转化为data.tableR可以时矢量,列表,data.frame等,keep.rownames决定是否保留名或者列表名,默认FALSE,如果TRUE,将名存在"rn",keep.rownames...2:4] #除了2到4剩余 DT["a",on="x"] #on 参数,DT[D,on=c("x","y")]取DT上"x","y"列上D上“x"、"y"列相关联D进行merge...(y=max(y)), lapply(.SD, min)), by=x, .SDcols=y:v] #对DT取y:v之间列,按x分组,输出max(y),对y到v之间列每列求最小输出。...roll 当i全部匹配只有某一不匹配时,填充该行空白,+Inf(或者TRUE)用上一填充,-Inf用下一填充,输入某数字时,表示能够填充距离,near用最近填充 rollends

5.5K20

【SAS Says】基础篇:基本统计、相关分析回归分析

现在想弄明白车种类是否准时之间关系。...现在有一组数据,包括两个变量:车类型(E for express or R for regular),是否准时(L for late orO for on time),每一包含10个观测: ?...就这个例子来看,球飞出去长度确实和击球人身高有关系,模型是显著,但是两者之间关系不是很明显(R-square=0.3758),可能年龄、经验会是比身高更好预测变量。 7....结果将在8讨论: 8. 读取proc anova输出 Procanova输出至少有两个部分,首先打印出有一个表,给出分类变量信息:水平数、变量值、观测数。再次打印出变量分析。...如果使用了类似means这样语句,那么其结果将接在后面。 7想要检验是否组之间升高有区别,使用proc anova语句如下: ? 第一部分给出了分类变量信息: ?

3.3K50

【SAS Says】基础篇:8. 相关、回归等初步统计

现在想弄明白车种类是否准时之间关系。...现在有一组数据,包括两个变量:车类型(E for express or R for regular),是否准时(L for late orO for on time),每一包含10个观测: ?...就这个例子来看,球飞出去长度确实和击球人身高有关系,模型是显著,但是两者之间关系不是很明显(R-square=0.3758),可能年龄、经验会是比身高更好预测变量。...结果将在8讨论: 8.8 读取proc anova输出 Procanova输出至少有两个部分,首先打印出有一个表,给出分类变量信息:水平数、变量值、观测数。再次打印出变量分析。...如果使用了类似means这样语句,那么其结果将接在后面。 7想要检验是否组之间升高有区别,使用proc anova语句如下: ? 第一部分给出了分类变量信息: ?

2.2K60

能不能让R处理数据?

这些问题都是在平日工作中有很高可能性出现并且看似容易实则让人抓狂问题,在Stackoverflow上他们有着很高的人气。事实上,这些问题也就是你在“看懂一本R教材”和“成为R大神”之间距离。...如果要自己寻找Stackoverflow上R或是data.table相关问题,可以在搜索栏输入[R] [data.table] Your question。 提 出问题 好啦,开始上课!...首先,假设我有一个这样数据集(暂且命名为t1): ? 现在我想做是对于每一,找出非NA,填充到“mean.scale”这个新变量;如果有多个非NA,那么就计算其平均值。...解 题步骤 如何rearrange呢?eddi大神意思是,原来inti_total_asset和issuing_scale是两个变量,现在要把他们stack起来,“堆成”一列,也就是这样: ?...(fund_name)][is.finite(mean.scale)] 提示:把所有步骤打包成一步关键在于“:=”符号运用。 本 期总结 本期大猫带领大家学习了如何R按照行进行处理。

1.3K20

数据流编程教程:R语言DataFrame

清洁数据在数据处理后续流程十分重要,比如数据变化(dplyr),可视化(ggplot2/ggvis)以及数据建模等。...tidyr主要提供了一个类似Excel数据透视表(pivot table)功能,提供gather和spread函数将数据在长格式和宽格式之间相互转化,应用在比如稀疏矩阵和稠密矩阵之间转化。...2. jsonlite 类似于Pythonjson库,参考前文 [[原]数据流编程教程:R语言非结构化数据共舞](https://segmentfault.com/a/11......(): 按列变量选择 filter(): 按名称分片 slice(): 按索引分片 mutate(): 在原数据集最后一列追加一些数据集 summarise(): 每组聚合为一个小数量汇总统计,通常结合...3.R Tutorial: Data Frame 4.Python Pandas 官方文档 5.知乎:R语言读大数据? 6.知乎高分问答:如何使用 ggplot2?

3.8K120

Day4-5 R语言代码

一、读取文件 1、读取文件小tips: (1)read.table()和read.csv()两者之间没有不可逾越鸿沟,只是方便读取某一类文件类型;报错就需要添加对应参数。...(2)在数据框类型数据取子集时、导入TXT文件时,注意一下数值型数据/,有没有藏着字符型数据。马虎了就会影响后续数据处理。...可以让R不修改行列名字,PS:R语言中行列名字不能有特殊字符; 2)row.names = 1”这个参数意思时不能把第一列作为名;PS:R语言中行名不能重复,如果将有重复A列设为名,需要先不将...row.name参数添加进来,处理A列重复(去重复、两取平均值合并为一),再设置为名。...,安装R命令可以加update=N,ask=N,省事。

20920

excel数据分析工具库系列三|回归分析

然后勾选逐列,输出位置,确定。 从输出相关系数矩阵可以看出,X1X2之间相关关系并不明显,而X2、X3之间存在中度负相关关系。...协方差: 下面是协方差矩阵,再次点击数据分析工具,在下拉列表调出协方差,参数设置上述相关系数一模一样,设置完之后点击确定,就可以输出三变量之间协方差矩阵。...从协方差矩阵输出结果上来看,相关系数结果保持一致,其中对角线上协方差值是三个变量各自差值,X1X3之间相关关系最弱,其协方差仅为-32.06,符号为负,其次是X1X2协方差为-109.1...,最大为X2X3之间。...回归输出结果给出了很多信息; 其中列表形式给出主要有: 回归统计:Multiple RR Square、Adjusted R、标准误差以及观测; 方差分析表: 自由度(df),回归平方和、

1.9K70

一文介绍特征工程里的卡方分箱,附代码实现

初次接触变量分箱是在做评分卡模型时候,SAS软件里有一段宏可以直接进行连续变量最优分箱,但如果搬到Python的话,又如何实现同样或者说类似的操作呢,今天就在这里简单介绍一个办法——卡方分箱算法。...图2:卡方累计分布函数 二、什么是卡方检验 χ2检验是以χ2分布为基础一种假设检验方法,主要用于分类变量之间独立性检验。...实际应用,我们先假设原假设成立,计算出卡方,卡方表示观察理论偏离程度。 卡方计算公式为: ? 其中A为实际频数,E为期望频数。...根据卡方分布,卡方统计量以及自由度,可以确定在原假设成立情况下获得当前统计量以及更极端情况概率p。如果p很小,说明观察理论偏离程度大,应该拒绝原假设。否则不能拒绝原假设。...freq = freq_tab.values #初始分组切分点,每个变量值都是切分点。每组只包含一个变量值.

3.8K20

新书《R语言编程—基于tidyverse》信息汇总

R连接数据库、中文编码问题及解决办法),数据连接(数据按/列拼接、SQL数据库连接),数据重塑 (“脏”数据变“整洁”数据,长宽表转换、拆分合并列),数据操作 (选择列、筛选、对排序、修改列、...分组汇总)、其它数据操作 (按汇总、窗口函数、滑窗迭代、整洁计算),以及data.table基本使用 (常用数据操作dplyr语法data.table语法对照)。.../连续变量离散化)、基于PCA特征降维; (3) 探索变量关系,包括分类变量之间、分类变量连续变量、连续变量之间关系。...第六章,文档沟通 将讨论如何进行可重复研究,用R markdown家族生成各种文档,介绍 R markdown基本使用,R Latex 交互编写期刊论文/幻灯片/书籍、R Git/Github交互进行版本控制...附录 部分是正文内容补充和扩展,将分别介绍R6类面向对象编程、实现ExcelVLOOKUP透视表、R网络爬虫、R高性能计算、R最新机器学习框架:mlr3verse, tidymodels.

2.3K21

代码搞定分组回归

事件研究法在第一期已经讲述,本期我们就来瞧瞧如何做分组回归~ PS:由于微信限制,给大猫留言小伙伴超过48小时后大猫就不能回复你们了。所以如果想联系大猫,可以按照文章最后微信号加大猫微信哦。...很多小伙伴大动干戈想把原数据集按照stkid拆成若干子数据集,并用for循环来做回归——大可不必这样。其实,要实现这一步只需要一代码哦。...keyby语句为data.table分组语句,它能够对keyby每一个不同(这里为abcde)都分别跑一次回归。...如果我们回归不是单自变量而是双自变量,那么每个分组就会有三观测了,一是截距,还有两是系数。...下 期预告 下期我们继续探索data.table强大功能,大猫教大家如何用一代码搞定滚动回归!

3.4K40

R Tricks: 如何处理Gaps & Islands问题?

” 我们思路很简单,分成四步: ▶ 将数据集按照ID起始时间(stime)进行排序 ▶ 找到结束时间(etime)累计最大 ▶ 一旦完成以上两步,那么重叠即为当前结束时间(etime)累计最大仍旧大于下一观测...上一代码,使用关键函数是累计最大函数cummax。此外,由于cummax不能直接处理日期格式,所以需要先将日期转化为数字进行比较,完了再转换回日期。...接下来,我们需要新建一个grp分组变量,它用于将一个个“islands”区分开来——即如果当前行stime小于etime.max,那么grp数字不变(意味着观测之间有重叠);但如果stime比etime.max...关于如何巧用cumsum函数,大猫在上一期R Tricks:如何巧为分组观测编号》也有详细讲解哦 最后,我们只要把每个grp组起始时间(stime)最小和结束时间(etime)最大找出来就行啦...关于如何巧用cumsum函数,大猫在上一期R Tricks:如何巧为分组观测编号》也有详细讲解哦。 我是大猫,咱们下期见!

1.1K20

Machine Learning-特征工程之卡方分箱(Python)

初次接触变量分箱是在做评分卡模型时候,SAS软件里有一段宏可以直接进行连续变量最优分箱,但如果搬到Python的话,又如何实现同样或者说类似的操作呢,今天就在这里简单介绍一个办法——卡方分箱算法。...二、什么是卡方检验 χ2检验是以χ2分布为基础一种假设检验方法,主要用于分类变量之间独立性检验。...实际应用,我们先假设原假设成立,计算出卡方,卡方表示观察理论偏离程度。 卡方计算公式为: ? 其中A为实际频数,E为期望频数。...根据卡方分布,卡方统计量以及自由度,可以确定在原假设成立情况下获得当前统计量以及更极端情况概率p。如果p很小,说明观察理论偏离程度大,应该拒绝原假设。否则不能拒绝原假设。...freq = freq_tab.values #初始分组切分点,每个变量值都是切分点。每组只包含一个变量值.

5.6K20

04:最匹配矩阵

04:最匹配矩阵 总时间限制: 1000ms 内存限制: 65536kB描述 给定一个m*n矩阵A和r*s矩阵B,其中0 < r ≤ m, 0 < s ≤ n,A、B所有元素都是小于100正整数...求A中一个大小为r*s子矩阵C,使得B和C对应元素差值绝对之和最小,这时称C为最匹配矩阵。如果有多个子矩阵同时满足条件,选择子矩阵左上角元素行号小者,行号相同时,选择列号小者。...输入第一是m和n,以一个空格分开。 之后m每行有n个整数,表示A矩阵各行,数之间以一个空格分开。 第m+2r和s,以一个空格分开。...之后r每行有s个整数,表示B矩阵各行,数之间以一个空格分开。 (1 ≤ m ≤ 100,1 ≤ n ≤ 100)输出输出矩阵C,一共r每行s个整数,整数之间以一个空格分开。...10 int r,s;//小矩阵长宽 11 int a[1001][1001];//大 12 int b[1001][1001];//小 13 int minn=1000000;//储存最小绝对

1.5K80
领券