2、按条件行筛选 从前用subset的方式进行筛选比较多, new=14,select=a:f) (1)单变量 现在data.table与dplyr 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中的列?
我们看到每个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
当我们想研究不同sample的某个变量A之间的差异时,往往会因为其它一些变量B对该变量的固有影响,而影响不同sample变量A的比较,这个时候需要对sample变量A进行标准化之后才能进行比较。...,此时残差值就可以作为标准化的A值在不同sample之间进行比较。...在R中loess 函数是以lowess函数为基础的更复杂功能更强大的函数。...主要思想为:在数据集合的每一点用低维多项式拟合数据点的一个子集,并估计该点附近自变量数据点所对应的因变量值,该多项式是用加权最小二乘法来拟合;离该点越远,权重越小,该点的回归函数值就是这个局部多项式来得到...在实际应用中,往往先选定f值,再根据f和n确定q的取值,一般情况下f的取值在1/3到2/3之间。q与f的取值一般没有确定的准则。
由于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。 ?
版权声明:本文为博主原创文章,转载请注明出处 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快。...因此,在对大数据处理上,使用data.table无疑具有极高的效率。这里主要介绍在基因组数据分析中可能会用到的函数。...,默认Windows是"\r\n",其它的是"\n"; na,na 值的表示,默认""; dec 小数点的表示,默认"...by ]语法做 但是如果我要将上述DT中的v3作为一个影响因素,作为tag,先按v1、v2汇总,再将对应的v4值分为v3=1和v3=2两类,查看v1、v2取值相同v3不同对应v4的情况,这个时候用dcast...by.y默认key(y); maxgap 设定两个区域空白区允许的最大值,参数尚不能使用; minoverlap 设定两个区域最小的重叠区,参数尚不能使用; type
写在前面 从这期开始,大猫课堂将会推出一个新的系列:R练习50题,目的是使用50道练习题让大家掌握常用的数据操作,例如寻找每组最大的N个观测等。...boolean vector,长度与原向量相同。...unique:找出symbol中不重复的值。 在data.table的语法中,先进行列选择操作,再对列进行处理。所以上述语句会先执行str_detect,再执行unique。...其中,updown是我们新建的字符变量,用来表示分组,它只取两个值:UP, DOWN。这其中的难点是建立updown这个变量。我们使用了ifelse这个函数。...代码第二行生成了一个新变量num。由于在keyby语句中我们已经按照日期与涨跌进行了分组,所以这一步我们只需要统计每个组有多少个股票就可以了。我们在这里使用了uniqueN这个函数。
版权声明:本文为博主原创文章,转载请注明出处 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快。...将一个R对象转化为data.table,R可以时矢量,列表,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
现在想弄明白车的种类与是否准时之间的关系。...现在有一组数据,包括两个变量:车类型(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语句如下: ? 第一部分给出了分类变量的信息: ?
现在想弄明白车的种类与是否准时之间的关系。...现在有一组数据,包括两个变量:车类型(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语句如下: ? 第一部分给出了分类变量的信息: ?
这些问题都是在平日的工作中有很高可能性出现并且看似容易实则让人抓狂的问题,在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中按照行进行处理。
清洁的数据在数据处理的后续流程中十分重要,比如数据变化(dplyr),可视化(ggplot2/ggvis)以及数据建模等。...tidyr主要提供了一个类似Excel中数据透视表(pivot table)的功能,提供gather和spread函数将数据在长格式和宽格式之间相互转化,应用在比如稀疏矩阵和稠密矩阵之间的转化。...2. jsonlite 类似于Python中的json库,参考前文 [[原]数据流编程教程:R语言与非结构化数据共舞](https://segmentfault.com/a/11......(): 按列变量选择 filter(): 按行名称分片 slice(): 按行索引分片 mutate(): 在原数据集最后一列追加一些数据集 summarise(): 每组聚合为一个小数量的汇总统计,通常结合...3.R Tutorial: Data Frame 4.Python Pandas 官方文档 5.知乎:R语言读大数据? 6.知乎的高分问答:如何使用 ggplot2?
一、读取文件 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,省事。
然后勾选逐列,输出位置,确定。 从输出的相关系数矩阵中可以看出,X1与X2之间相关关系并不明显,而X2、X3之间存在中度负相关关系。...协方差: 下面是协方差矩阵,再次点击数据分析工具,在下拉列表中调出协方差,参数设置与上述相关系数一模一样,设置完之后点击确定,就可以输出三变量之间的协方差矩阵。...从协方差矩阵输出结果上来看,与相关系数的结果保持一致,其中对角线上的协方差值是三个变量各自的方差值,X1与X3之间的相关关系最弱,其协方差仅为-32.06,符号为负,其次是X1与X2协方差为-109.1...,最大的为X2与X3之间。...回归的输出结果中给出了很多信息; 其中列表形式给出的主要有: 回归统计:Multiple R、R Square、Adjusted R、标准误差以及观测值; 方差分析表: 自由度(df),回归平方和、
初次接触变量分箱是在做评分卡模型的时候,SAS软件里有一段宏可以直接进行连续变量的最优分箱,但如果搬到Python的话,又如何实现同样或者说类似的操作呢,今天就在这里简单介绍一个办法——卡方分箱算法。...图2:卡方累计分布函数 二、什么是卡方检验 χ2检验是以χ2分布为基础的一种假设检验方法,主要用于分类变量之间的独立性检验。...实际应用中,我们先假设原假设成立,计算出卡方的值,卡方表示观察值与理论值间的偏离程度。 卡方值的计算公式为: ? 其中A为实际频数,E为期望频数。...根据卡方分布,卡方统计量以及自由度,可以确定在原假设成立的情况下获得当前统计量以及更极端情况的概率p。如果p很小,说明观察值与理论值的偏离程度大,应该拒绝原假设。否则不能拒绝原假设。...freq = freq_tab.values #初始分组切分点,每个变量值都是切分点。每组中只包含一个变量值.
、R连接数据库、中文编码问题及解决办法),数据连接(数据按行/列拼接、SQL数据库连接),数据重塑 (“脏”数据变“整洁”数据,长宽表转换、拆分与合并列),数据操作 (选择列、筛选行、对行排序、修改列、...分组汇总)、其它数据操作 (按行汇总、窗口函数、滑窗迭代、整洁计算),以及data.table基本使用 (常用数据操作的dplyr语法与data.table语法对照)。.../连续变量离散化)、基于PCA的特征降维; (3) 探索变量间的关系,包括分类变量之间、分类变量与连续变量、连续变量之间的关系。...第六章,文档沟通 将讨论如何进行可重复研究,用R markdown家族生成各种文档,介绍 R markdown的基本使用,R 与 Latex 交互编写期刊论文/幻灯片/书籍、R 与Git/Github交互进行版本控制...附录 部分是正文内容的补充和扩展,将分别介绍R6类面向对象编程、实现Excel中的VLOOKUP与透视表、R网络爬虫、R高性能计算、R最新机器学习框架:mlr3verse, tidymodels.
事件研究法在第一期中已经讲述,本期我们就来瞧瞧如何做分组回归~ PS:由于微信的限制,给大猫留言的小伙伴超过48小时后大猫就不能回复你们了。所以如果想联系大猫,可以按照文章最后的微信号加大猫微信哦。...很多小伙伴大动干戈想把原数据集按照stkid的值拆成若干子数据集,并用for循环来做回归——大可不必这样。其实,要实现这一步只需要一行代码哦。...keyby语句为data.table包中的分组语句,它能够对keyby中的每一个不同的值(这里为abcde)都分别跑一次回归。...如果我们的回归不是单自变量而是双自变量,那么每个分组就会有三行观测了,一行是截距,还有两行是系数。...下 期预告 下期我们继续探索data.table包的强大功能,大猫教大家如何用一行代码搞定滚动回归!
” 我们的思路很简单,分成四步: ▶ 将数据集按照ID与起始时间(stime)进行排序 ▶ 找到结束时间(etime)的累计最大值 ▶ 一旦完成以上两步,那么重叠的行即为当前结束时间(etime)累计最大值仍旧大于下一行的观测...上一行代码中,使用的关键函数是累计最大值函数cummax。此外,由于cummax不能直接处理日期格式,所以需要先将日期转化为数字进行比较,完了再转换回日期。...接下来,我们需要新建一个grp分组变量,它用于将一个个“islands”区分开来——即如果当前行的stime小于etime.max,那么grp的数字不变(意味着观测之间有重叠);但如果stime比etime.max...关于如何巧用cumsum函数,大猫在上一期的《R Tricks:如何巧为分组观测编号》中也有详细讲解哦 最后,我们只要把每个grp组中起始时间(stime)的最小值和结束时间(etime)的最大值找出来就行啦...关于如何巧用cumsum函数,大猫在上一期的《R Tricks:如何巧为分组观测编号》中也有详细讲解哦。 我是大猫,咱们下期见!
初次接触变量分箱是在做评分卡模型的时候,SAS软件里有一段宏可以直接进行连续变量的最优分箱,但如果搬到Python的话,又如何实现同样或者说类似的操作呢,今天就在这里简单介绍一个办法——卡方分箱算法。...二、什么是卡方检验 χ2检验是以χ2分布为基础的一种假设检验方法,主要用于分类变量之间的独立性检验。...实际应用中,我们先假设原假设成立,计算出卡方的值,卡方表示观察值与理论值间的偏离程度。 卡方值的计算公式为: ? 其中A为实际频数,E为期望频数。...根据卡方分布,卡方统计量以及自由度,可以确定在原假设成立的情况下获得当前统计量以及更极端情况的概率p。如果p很小,说明观察值与理论值的偏离程度大,应该拒绝原假设。否则不能拒绝原假设。...freq = freq_tab.values #初始分组切分点,每个变量值都是切分点。每组中只包含一个变量值.
2 分组的变量可以不止一个,例如由type和class确定一个分组: product_info[, .N, by = ....中,by所对应的组合中的值是唯一的,虽然实现了目标,但结果中没有设置键: key(type_class_test0) #> NULL 这种情况下,我们可以使用keyby来确保结果的data.table自动将...可以自动将id值与质量分类连接起来。...,每条记录了钻石的10个属性,现在我们队cut列中的每种切割类型都你拟合一个线性回归模型,由此观察每种切割类型中carat与depth是如何反映log(price)的信息。...(year = year(date))] } 这里我们使用.SD[[x]]提取x列的值,这跟通过名字从列表中提取成分或元素相同。
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+2行为r和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;//储存最小的绝对值
领取专属 10元无门槛券
手把手带您无忧上云