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

R练习50题 - 第一期

unique:找出symbol不重复值。 data.table语法,先进行列选择操作,再对列进行处理。所以上述语句会先执行str_detect,再执行unique。...练习2:每天上涨和下跌股票各有多少? 问题分析 这一题需要引入分组概念,并且按照“先分组,后统计”两步走。首先按照题意,我们需要为每个交易date建立一个“”。...其次,对于每个,我们需要生成两个统计数字:一个统计上涨个数,一个统计下跌个数。最终结果如下: ? 可以看到,对于每个date,它都对应了两个观测,一个是“UP”,一个是“DOWN”。...这是因为data.table第一个语句用来对列进行选择,由于我们这里需要对所有列进行统计,所以不需要进行任何操作。 keyby用来进行分组,是整个代码核心。先来看keyby = ....由于keyby语句中我们已经按照日期与涨跌进行了分组,所以这一步我们只需要统计每个有多少个股票就可以了。我们在这里使用了uniqueN这个函数。

2.4K40

数据科学家节选(1)

认识世界是我们每个人终其一生一直进行过程,不仅如此,我们几千年来世世代代也都在不断重复这个过程,日复一年复一年,从未停止。...我们要说就是这样一群伟大的人。 我们印象科学家通常都是天资聪颖,智慧出众,某一领域理解深刻。科学家与我们常人都有哪些区别呢?是因为他们更聪明所以才能当科学家吗?...如果直接以12个朔望月作为一年的话,这样结果在多年叠加后会让人感觉很滑稽,因为如果假设一年农历正月初一和公历1月1同一天,第二年公历1月1时候,农历已经是1月11了;第十年公历1月1时候...所以每一年历月和节气之间就会像和公历之间那样产生“错位”,因而产生农历月中会有“不太规律”缺中气月出现。不管是哪个月,反正是从冬至开始计算,第一个没有中气月就做一次闰月。...二十四节气最早被全数记录是《淮南子·天文训》,当然其中也包括关于“十九闰七”天文现象论述。 ?

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

🤩 xgboost | 经典机器学习大杀器之XGBoost!~

☹️ 当训练完成得到k棵树,我们要预测一个样本分数,其实就是根据这个样本特征,每棵树中会落到对应一个叶子节点,每个叶子节点就对应一个分数。...多分组 对于第一个变量,我们通过四舍五入实际年龄来创建年龄。...目的是将分类变量每个值转换为二进制特征,也就是0和1,也可以理解为稀疏矩阵。...每个变量重要性可以通过Gain,Cover,frequency来评估: 1️⃣ Frequency。...某个特征被用于在所有树拆分数据次数。 2️⃣ Cover。首先得到某个特征被用于在所有树拆分数据次数,然后要利用经过这些拆分点训练数据数量赋予权重。 3️⃣ Gain。

18710

从一件数据清洗小事说起

” 本期“大猫R语言公众号”由“村长”供稿。村长,数据科学、指弹吉他及录音工程爱好者,浙大金融学博士在读,data.table包和MongoDB使用上有较多经验。...问 题:从一段json清晰代码说起 笔者某一R语言中文社区某一群里面发现了水友提出一个问题,处理一个比较奇葩数据清洗问题,先来看数据结构: ?...这是一个类json格式嵌套数据,其中存在两个变量,第一个变量是cusnum作为序号,第二个是一个类json嵌套变量,里面以类jsno格式嵌套了很多变量。 需要将这个数据集转换成如下格式: ?...其实这一期这么扯淡讲这么多事情,只是为了说明一点,data.table真的有很好性能,尤其处理海量数据方面(分组特别多时候,相比dplyr和pandas有2x~10x提升,来自官方文档)。...从好处来说,因为每个组件只做一件事(比如group、mutate),所以开发时候耦合度低,容易开发维护,而且对于使用者来说也“更容易学习”。然而,他弊端也是非常明显,首先是效率不高。

66610

5个例子比较Python Pandas 和R data.table

data.table) melb <- fread("datasets/melb_data.csv") 示例1 第一个示例是关于基于数据集中现有列创建新列。...对于data.table,此操作相对简单一些,因为我们只需要使用by参数即可。 示例4 让我们进一步讨论前面的例子。我们求出了房屋平均价格,但不知道每个地区房屋数量。...这两个库都允许一个操作应用多个聚合。我们还可以按升序或降序对结果进行排序。...我们使用计数函数来获得每组房屋数量。”。N”可作为data.tablecount函数。 默认情况下,这两个库都按升序对结果排序。排序规则在pandasascending参数控制。...data.table中使用减号获得降序结果。 示例5 最后一个示例,我们将看到如何更改列名。例如,我们可以更改类型和距离列名称。

3K30

双端测序转录需要两个fastq文件独立定量吗

粉丝求助一个公共数据集,是转录测序。说它把一个双端测序转录数据两个fastq文件独立定量了,所以每个样品居然有2次表达量信息,希望我们可以打假!但是我看了看,其实是粉丝自己理解有误。...也就是说,粉丝首先就搞错了这个转录测序,以为是默认双端测序,其实它是古老单端数据。...然后我打开每个样品各自combined.htseq.txt.gz ,每个样品表达量矩阵里面,都是如下所示: ==> GSM4072177_shstat2C.combined.htseq.txt <=...所以我们这个时候有两个解决方案,第一个是直接把每个样品4个fq文件定量每个基因层面表达量加和即可,另外一个办法就是先无需理会,就把这4个值当做是4个技术重复即可,但是它不能是生物学重复,不过反正绝大部分分析也不需要区分这一点...),1] length(unique(gs)) # 这里是删除转换后有重复基因 kp= !

95220

MR应知应会:MungeSumstats包

Sum 和整数值输出创建 N 列,而 Giant、metal 或 ldsc 创建 Neff 或有效样本大小。如果传递多个,则会指示用于推导它公式。...那些存在内容将被删除(如果 sumstats 文件存在)。默认为TRUE。...那些这样做删除(如果存在于 sumstats 文件)。默认为TRUE。 N_std 需要删除高于 SNP N 平均值标准差数。默认值为 5。...这可能会导致错误,因此默认情况下,将保留第一个 RS ID,并删除其余,例如“rs5772025”。如果您只想完全删除这些 SNP,请将其设置为 TRUE。默认值为 FALSE。...indels 您 Sumstats 文件是否包含 Indel?这些不存在于我们参考文件,因此如果该值为 TRUE,它们将被排除检查之外。默认值为 TRUE。

83910

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

data.table可是比dplyr以及Pythonpandas还好用数据处理方式。...data.table语法简洁,并且只需一行代码就可以完成很多事情。进一步地,data.table某些情况下执行效率更高。...%>%功能是用于实现将一个函数输出传递给下一个函数第一个参数。注意这里,传递给下一个函数第一个参数,然后就不用写第一个参数了。dplyr分组求和过程,还是挺有用。...data.table中有三类数据合并方式: 1、直接用[] data_one[data_two,nomatch=NA,mult="all"] 以第一个数据为基准,依据key进行合并,只出现重复部分...—————————————————————— 实战一:data.table如何选中列,如何循环提取、操作data.table列?

7.2K43

35行代码搞定事件研究法(下)

注意 I,本代码主要使用data.table包完成,关于data.table相应知识会在涉及时候进行讲解。以后课堂,我们会重点介绍data.table这个包。...在上一讲,我们已经给出了函数 do_car() 用来求单个事件超额收益,因此很自然,我们希望对于事件向量 ns 每个元素,都应用一遍 do_car()这个函数。...我们例子,我们只计算T日前后各一收益,因而ars一共有三个元素。...测试,大猫设置了一个极端条件:模拟2500个股票(差不多是A股股票数),每个股票拥有1000个交易记录(差不多有4年时间),平均50个交易日出现一个事件(模拟盈利公告这类事件出现频率)。...语句“car :=” 表示原数据集中新建一个名为 car 变量,vapply(ars, sum)含义是把超额收益率向量ars元素相加,double(1)指定输出必须是一个标量(因为对于每个事件

1.2K40

R Tricks: 如何巧为观测标记序号

data.table包!...R,求差分函数diff非常适合完成这个任务。它可以计算当前观测和上一行观测相比变化了多少。我们试着用一下: ▶ dt[, diff := c(0, diff(group))] 结果如下: ?...最后一步,我们只需要在每个by=cumsum中将观测从1开始标号即可: ▶ dt[, n := seq(.N), by = cumsum] 最终结果为: ?...注意,我们这里用cumsum值进行了分组,并且用了seq(.N)这个语句。".N"表示当前by有多少观测,而seq(.N)则产生从1至.N一个整数序列。...还记得开篇大猫说这个技巧事件研究法特别实用吗?因为事件研法,我们一般会给事件标为1,非事件标为0,对于每个事件之间一段时间,我们往往希望能够用1开始为其标号,这对于后续统计相当有用。

95710

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

:对每个小片断独立进行操作; combine:把片断重新组合。...(iris$setosa)] #按照照setosa大小,重排Sepal.Length数据列 四、dplyr与data.table data.table可是比dplyr以及python...data.table语法简洁,并且只需一行代码就可以完成很多事情。进一步地,data.table某些情况下执行效率更高。...使用data.table时候,需要预先布置一下环境: data<-data.table(data) 如果不布置环境,很多内容用不了。...data.table比较简洁一步搞定,dplyr花了两步,不过也dplyr也可以通过%>%来实现一步搞定。%>%功能是用于实现将一个函数输出传递给下一个函数第一个参数。

20.4K32

【技巧】如何快速按照日期分组

问题提出 处理数据时候,我们常常需要按照日期对数据进行分类汇总,例如每周、每月、每年汇总等。常见做法是建立一个用于分类变量,然后再按照这个变量进行汇总。...再次,这种常规方法很难处理一些不规则日期间隔,例如我希望每隔3天对数据汇总一次;或者再变态一点,我希望把数据分成两:一是周三,另一是非周三。遇到这种情况,我们该怎么办呢?...本期大猫将教大家使用 data.table keyby语句完成上述任务。...按照“每个三天”分类 为了按照任意间隔进行分类,我们需要用到 data.table ceiling_date函数。...(three.day = ceiling_date(date, "3 days"))] 大家注意观察最后结果,是不是每个三天才产生一个输出? ? (完) 长按二维码关注

2.4K30

一行代码搞定分组回归

事件研究法第一期已经讲述,本期我们就来瞧瞧如何做分组回归~ PS:由于微信限制,给大猫留言小伙伴超过48小时后大猫就不能回复你们了。所以如果想联系大猫,可以按照文章最后微信号加大猫微信哦。...google输入“the answer to life the universe and everything”会有惊喜哦。 set.seed(42) # 生成样例数据集dt,其一共有100行。...keyby语句为data.table分组语句,它能够对keyby每一个不同值(这里为abcde)都分别跑一次回归。...整行代码关键as.list函数。我们先看看如果不加as.list结果会是怎样: ? 小伙伴们会发现此时每个都有两行观测,其实他们分别对应着回归intercept和coefficient。...如果我们回归不是单自变量而是双自变量,那么每个分组就会有三行观测了,一行是截距,还有两行是系数。

3.4K40

R语言入门之数据导入和导出

第一部分 导入数据(Importing Data) 我们平时研究工作,经常使用是逗号分隔文件(.csv文件)、制表符分隔文件(.tsv文件)和空格分隔文件(.txt文件)。...当然对于一些基因文件或者其它格式文件,各自有各自特点,原则上R语言可以读取任何格式文件,只需掌握基本读取文件方法后按照不同特点调整参数即可。 1....直接高效读取以.gz结尾压缩文件 一般R可以使用gzfile()方式读取压缩文件,但如果使用data.table包里fread()函数则可以大大提高工作效率。...Exporting Data) R语言中有很多方法可以导出各种类型数据,但常用文件格式也就第一部分主要涉及三类,即逗号分割文件、制表符分隔文件以及空格分隔文件。...导出数据为csv文件 #第一个参数是需要导出数据名称 #第二个参数是导出后新文件名称 #第三个参数是指文件分隔符 #导出数据和导入数据参数类似,只是所使用函数不同 write.table(mydata

3.1K40
领券