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

R语言 数据框、矩阵、列表创建、修改、导出

需要指定参数#ex1 <- read.table("ex1.txt") #读入该文件后会发现原文件被认为没有列名,列名被当作第一行,字符型与数值型在一起会将所有数值型改为字符型以满足向量同一类型ex1...函数可以避免此前错误a<-fread("soft.txt",data.table = F)class(a)#但其不会有行名,且其会有一个data.table数据结构多出来,可以设置data.table...#取子集方法同数据框t(m) #置行与列,数据框置后为矩阵as.data.frame(m) #将矩阵转换为数据框列表列表内有多个数据框或矩阵,可通过list函数将其组成一个列表l <- list(m1...不支持l$m1 #取出名为m1成分变量删除rm(l) #删除列表lrm(df1,df2) #删除变量df1与df2rm(list = ls()) #清空所有变量附作业答案及解释# 练习3-1# 1...5行,前4列,并转换为矩阵,赋值给a。

7.6K00

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

DT数据集按照x分组,然后计算v变量和、最小、最大。 (2)dplyr函数利用%>%(链式操作)来改进: 链式操作是啥意思呢?...2、on=""方式 DT[X, on="x"] 这里on指的是DT变量变量名称,X还是按照key,如果没设置就会默认第一行为key。...—————————————————————————————————————————————— 六、额外参数(来源:R语言data.table速查手册) 1、mult参数 mult参数是用来控制i匹配到一行返回结果默认情况下会返回该分组所有元素...返回匹配到键值所在列(V2列)所有包含变量值A或D所有行: DT[c("A","D"), nomatch = 0] V1 V2 V3 V4 1: 1 A -1.1727 1 2: 2 A...,他包含了各个分组,除了by中变量所有元素。.

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

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

就是那个黑色图)。请观察在上面这个抽象后代码,大家应该可以看出我们对event数据集做了三件事情,具体分别为: 选取event中所有的行(第一行代码)。...此处,我们没有添加任何条件,因此默认选中event所有行。 对选中变量进行操作(第二行代码)。此处,所有的操作都用大括号{}包裹了起来。 对event按照stk.id进行分组(第三行代码)。...我们一行一行来看: ns <- which(event.flg == 1); 这一行代码作用找到每个股票所有事件日序号 ns。大家应该还记得在上一讲中我们用 n 来表示单一事件日序号吧?...在这里,which(event.flg == 1)意思是返回所有event.flg变量等于1那些行序号,很自然,在这里 ns 应该是一个向量。...do_car() 要求我们提供n, r, rm, date 四个参数,但是向量 ns 只能提供 n 这一个参数,因此我们需要用pryr包中partial() 函数把剩下几个变量补充完整(感谢pryr

1.2K40

一行代码搞定分组回归

写 在前面 在目前为止所有小伙伴们向大猫请教过R问题中,大猫总结了最常遇见同时也是比较难三个问题,分别是(1)事件研究法;(2)分组回归;(3)滚动回归。...很多小伙伴大动干戈想把原数据集按照stkid拆成若干子数据集,并用for循环来做回归——大可不必这样。其实,要实现这一步只需要一行代码哦。...keyby语句为data.table包中分组语句,它能够对keyby中每一个不同(这里为abcde)都分别跑一次回归。...如果我们回归不是单自变量而是双自变量,那么每个分组就会有三行观测了,一行是截距,还有两行是系数。...下 期预告 下期我们继续探索data.table强大功能,大猫教大家如何用一行代码搞定滚动回归!

3.4K40

如何用R进行中文分词?

大猫在这里由衷感谢所有提出建议小伙伴们,同时向上几期不尽人意之处表示歉意,我会继续努力哒!...data.table是当前R中最强大数据处理包之一,在大猫课堂中,所有的数据处理都要使用到data.table。...这一步只需一行代码(关于停用词字典我们放到下节课z): # initialize worker mixseg <- worker() 在建立分词器mixseg后,我们就可以用它来完成一些简单分词工作了...(text = text) 对 单个句子分词 我们首先建立对单个句子进行分词函数seg_x,然后在下一步中使用sapply函数将seg_x批量使用在数据集中。...第二行代码中,dt[, text.seg := x.out]作用是:在数据集dt中新生成一个变量text.seg,其等于向量x.out。

1.3K10

R练习50题 - 第一期

只可惜Renkun并没有提供答案,所以我们在这里提供我们版本。 我们所有答案都将使用data.table这个包。我们认为data.table是最优秀数据处理工具,没有之一。...unique:找出symbol中不重复。 在data.table语法中,先进行列选择操作,再对列进行处理。所以上述语句会先执行str_detect,再执行unique。...这是因为data.table第一个语句用来对列进行选择,由于我们这里需要对所有列进行统计,所以不需要进行任何操作。 keyby用来进行分组,是整个代码核心。先来看keyby = ....其中,updown是我们新建字符变量,用来表示分组,它只取两个:UP, DOWN。这其中难点是建立updown这个变量。我们使用了ifelse这个函数。...如果你愿意,data.table允许你把所有的代码都写在同一行,就像这样: 下期预告 在下一期,我们会继续带来剩余题目的解答~ 大猫R语言课堂 我是大猫,一个高中读文科但却在代码、数学路上狂奔不止

2.4K40

能不能让R按行处理数据?

首先,假设我有一个这样数据集(暂且命名为t1): ? 现在我想做是对于每一行,找出非NA,填充到“mean.scale”这个新变量;如果有多个非NA,那么就计算其平均值。...eddi大神意思是,原来inti_total_asset和issuing_scale是两个变量,现在要把他们stack起来,“堆成”一列,也就是这样: ?...我们只要把数据按照fund_name分组,然后对每组求scale均值。唯一需要注意有两点。首先,别忘了mean中na.rm = T参数,它能够让函数忽略缺失。...事实上,大猫把整个过程分解成了好几步,如果对于data.table包比较熟悉,完全可以在一行之内搞定所有事情,根本不需要把进行数据集拆分、合并: ▶ t.final <- t1[, ":="(mean.scale...(fund_name)][is.finite(mean.scale)] 提示:把<em>所有</em>步骤打包成一步<em>的</em>关键在于“:=”符号<em>的</em>运用。 本 期总结 本期大猫带领大家学习了如何在R中按照行进行处理。

1.3K20

关于data.table中i, j, by都为数字理解

以mtcars这个R自带数据集为例,我们知道mtcars[1]运行结果,是选择这个数据集一行,结果如下: ? mtcars[1,1]运行结果,是选择第一行第一列元素,结果如下: ?...首先,我们单独看i只有一个1情况下是什么运行结果,为了让运行出来代码被认定是data.table格式,我们在j中加入.SD(不清楚.SD用途小伙伴可以查看data.tablemanual,或者查看笔者上一篇推送用...data.table语句批量处理变量),代码如下: mtcars[1, .SD] 运行结果如下: ?...接下来,我们在by位置加上一个1,代码如下: mtcars[1, .SD, 1] 再来看看运行结果: ? 这时多了一列变量变量名缺失,且只有一行观测为数字“1”。...结 果分析 从这样一段拆解当中,我们大致就可以明白为什么会出现这样结果了,整体运行思路就是:首先选出了第一行,而后在by中以一个变量名默认为NA变量为基准,最后在j中生成了一个默认变量名为V1变量

1.2K30

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

R语言︱数据集分组 大型数据集通常是高度结构化,结构使得我们可以按不同方式分组,有时候我们需要关注单个数据片断,有时需要聚合不同组内信息,并相互比较。...a[row(a)==1&col(a)==2] #将返回6, 第一行第二列 2、一个网络例子: ?...##对于数据框 x是对象,subset是保留元素或者行列逻辑表达式,对于缺失用NA代替。 Select 是选取范围,应小于x。...可见order用法 subset()在数据集中非常好用,which是针对较小数据筛选,比较低纬度数据筛选时候可以用。 subset=which+数据集操作 which=order+多变量运行。...data.table语法简洁,并且只需一行代码就可以完成很多事情。进一步地,data.table在某些情况下执行效率更高。

20.5K32

前端JS手写代码面试专题(一)

对于原始矩阵每一列,都创建一个新数组,其中包含置后矩阵对应行。内部map方法遍历原始矩阵一行,row[i]选取当前列(即当前外部map迭代器索引i对应元素)所有元素。...8、如何将包含连字符(-)和下划线(_)字符串转换为驼峰命名风格呢? 在JavaScript开发中,对字符串处理是日常任务中不可或缺一部分。...那么,如何将包含连字符(-)和下划线(_)字符串转换为驼峰命名风格呢?例如,字符串“secret_key_one”会被转换为“secretKeyOne”。.../g来查找字符串中所有连字符或下划线,以及紧随其后任意字符。在replace方法中使用回调函数将这些匹配到字符转换为大写,而连字符或下划线本身则被移除,从而实现了转换为驼峰命名效果。...这种方法优点在于: 无需临时变量: 传统变量交换需要一个临时变量来存储其中一个变量,而解构赋值使得这个过程更直接,不再需要临时变量

9610

matlab复杂数据类型(二)

索引类型 结果 语法 行 变量 括号 表 T(rows,vars) 一行或多行,由 rows 指定 一个或多个变量,由 vars 指定 大括号 提取数据 T{rows,vars} 一行或多行,由 rows...(varindex) 所有行 一个变量,由 var(名称)或 varindex(数值)指定 点索引 提取数据 T.var(rows) 一行或多行,由 rows 指定 一个变量,由 var(名称)指定...Variables 属性 提取数据 T.Variables 所有所有变量(当它们可以水平串联到数组中时) 按变量类型添加下标 表 S = vartype(type);T(rows,S) 一行或多行...④ 使用表优势 方便将混合类型数据存储于单个容器中。...dec2hex:将十进制数字转换为表示十六进制数字字符向量 hex2dec:将十六进制数字文本表示形式转换为十进制数字 hex2num:将IEEE十六进制字符串转换为双精度数字 num2hex:将单精度和双精度转换成

5.7K10

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

)直接修改某个位置,rownum行号,colnum,列号,行号列号推荐使用整型,保证最快速度,方法是在数字后面加L,比如1L,value是需要赋予。...表示,默认""; dec,小数点表示,默认"...DT[, .SD, .SDcols=x:y] #用.SDcols 定义SubDadaColums(子列数据),这里取出x到之间列作为子集,然后.SD 输出所有子集 DT[2:5, cat(y, "...with 默认是TRUE,列名能够当作变量使用,即x相当于DT$"x",当是FALSE时,列名仅仅作为字符串,可以用传统data.frame方法并且返回data.table,x[, cols, with...roll 当i中全部行匹配只有某一行不匹配时,填充该行空白,+Inf(或者TRUE)用上一行填充,-Inf用下一行填充,输入某数字时,表示能够填充距离,near用最近行填充 rollends

5.6K20

一行代码对日期插

附:生成样例数据集文件: # sample dataset # id变量用于分组 dt <- data.table(id = c(1, 1, 1, 2, 2), date = c(as.Date("2000...此时,我们相当于要构造出一个“平衡”面板数据。 解决思路是运用data.tablemerge功能。...在merge过程中,我们指定id和date变量必须匹配,也即on = .(id, date)语句作用: # 把CJ函数merge回原始数据集 dt[CJ, on = ....例如,在我们样例数据集sample中,id=1观测对应日期最小为01-08,最大为01-14,而我们希望填充这两个日期“之间”所有。...拓 展 等等,你不是说可以在一行当中搞定吗?当然没问题,以上文提到第二种情况为例,我们可以把两行合并为一行: # 把两行代码合并成一行 dt[dt[, .

1.4K30

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

包括两个方面,一方面是写快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理步骤进行了程序上优化,使用多线程,甚至很多函数是使用C写,大大加快数据运行速度。...sep 列之间分隔符; sep2 分隔符内再分隔分隔符,功能还没有应用; nrow 读取行数,默认-l全部,nrow=0仅仅返回列名; header 第一行是否是列名...",因子和列名只有在他们需要时候才会被加上双引号,例如该部分包括分隔符,或者以"\n"结尾一行,或者双引号它自己,如果FALSE,那么区域不会加上双引号,如果TRUE,就像写入CSV文件一样,除了数字...对象; id.vars id变量组成矢量,可以对应列号,也可以对应列名;缺失的话,非测量变量会被赋值; measure.vars 测量变量组成是矢量或者列表,可以对应列号和列名..."; value.name 融合后数据数值列名; na.rm 如果TRUE,移除NA; variable.factor 如果TRUE,变量列转化为因子; verbose

3.2K10

利用“MatrixEQTL”包进行eQTL实战分析

covariates_file = data.table::fread(covariates_file_name, header=T) # 读取协变量文件,可在R中查看 output_file_name...= tempfile() # 将输出文件设置为临时文件 pvOutputThreshold = 1e-2 # 定义gene-SNP associations显著性P errorCovariance...= "\t" # 指定SNP文件分隔符 snps$fileOmitCharacters = "NA" # 定义缺失 snps$fileSkipRows = 1 # 跳过第一行...(适用于第一行是列名情况) snps$fileSkipColumns = 1 # 跳过第一列(适用于第一列是SNP ID情况 snps$fileSliceSize = 2000...= FALSE) res <- me$all$eqtls # 把eQTL显著结果存储到变量res里 res # 查看结果 关于“MatrxiEQTL”包用法就简单介绍到这里,感兴趣朋友可以深入学习一下

1.1K31
领券