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

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

函数可以避免此前的错误a<-fread("soft.txt",data.table = F)class(a)#但其不会有行名,且其会有一个data.table的数据结构多出来,可以设置data.table...[,2] #取出第二所有内容,同df1$df1[c(1,3),1:2] #取出第1、3行的1、2数据,取多的时候需要组织成合适的向量df1[,-ncol(df1)] #删去最后一,"-"意义同向量列名或行名取子集...nrow = 3) #生成一个向量,并将其分为3行,生成的数据框行名和列名为[1,]等colnames(m) <- c("a","b","c") #加列名或行名均可以此实现#取子集方法同数据框t(m) #置行与...,数据框置后为矩阵as.data.frame(m) #将矩阵转换为数据框列表列表内有多个数据框或矩阵,可通过list函数将其组成一个列表l <- list(m1 = matrix(1:9, nrow...(iris)])# 2.提取内置数据iris的前5行,前4,并转换为矩阵,赋值给a。

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

开发ETL为什么很多人用R不用Python

做过建模的小伙伴都知道,70%甚至80%的工作都是在做数据清洗;又如,探索性数据分析中会涉及到各种置、分类汇总、长宽表转换、连接等。因此,ETL效率整个项目中起着举足轻重的作用。...:https://url.cn/5HlosKF 1.2 modin read big csv failed:https://url.cn/5cOdpVJ 2.分类汇总 测试内容:对于id3, id4两分类汇总求...(id4, id5)] modin用时174秒,由于modin暂不支持多的groupby,实际上还是用的pandas的groupby x.groupby([‘id4’,‘id5’]).agg({‘v3...并且,rstudio-server为线上版本的rstudio,后台就是linux环境,前端为rstudio的ui,因此无需为开发环境与生产环境不一致而苦恼,更不会因为某些包只能linux使用而无法windows...首先,用presto从hive中读取数据,从ADB读取数据,数据量5G左右。中间涉及到PCA以及其他计算,最后入库mysql,该任务每天跑一次 。

1.8K30

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

筛选变量的数据,也可以与%in%集合运算联用(集合运算见博客:R语言︱集合运算)。...返回匹配到键值所在(V2)所有行中的第一行 > DT["A", mult ="first"] V1 V2 V3 V4 1: 1 A -1.1727 1 2、nomatch参数——未匹配样本处理...返回匹配到键值所在(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中的?...除了行,就是的问题了。data.table操作,真的是费劲。。。 常规来看, data[,.

7.5K43

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

前面三个选项都是用新的特定C代码写的,较快 buffMB,每个核心给的缓冲大小,1到1024之间,默认80MB nThread,用的核心数。...showProgress,工作台显示进程,当用file==""时,自动忽略此参数 verbose,是否交互和报告时间 data.table数据框结构处理语法 data.table[ i , j ,....N(总数,直接在j输入.N取最后一),:=(直接在data.table上添加,没有copy过程,所以快,有需要的话注意备份),.SD输出子集,.SD[n]输出子集的第n,DT[,....(y)] #返回y,返回data.table DT[, sum(y)] #对y求和 DT[, ....x到之间的列作为子集,然后.SD 输出所有子集 DT[2:5, cat(y, "\n")] #直接在j 用cat函数,输出2到5的y值 DT[, plot(a,b), by=x] #直接在j用plot

5.6K20

R语言学习笔记之——数据处理神器data.table

R语言作为专业的统计计算语言,数据处理是其一大特色功能,事实上每一个处理任务R语言中都有着不止一套解决方案(这通常也是初学者入门R语言时,感觉内容太多无从下手的原因),当然这些不同方案确实存在着性能和效率的绝大差异...rm(list=ls()) gc() 2、索引切片聚合 data.table中提供了将行索引、切片、分组功能于一体的数据处理模型。...data.table索引 索引与数据框相比操作体验差异比较大,data.table索引摒弃了data.frame时代的向量化参数,而使用list参数进行列索引。...如果想要运行的同时进行输出则可以结尾加上[] setorder(mydata,carrier,-arr_delay)[] ? 这个功能有点儿类似于基础函数中,语句外部加上圆括号。...当然你要是特别不习惯这种用法,还是习惯使用merge的话,data.table仍然是支持的,因为他本来就继承了数据框,支持所有针对数据框的函数调用。

3.6K80

MySQL中识别符大小写敏感性学习--MySql语法

索引、存储子程序和触发器名在任何平台上对大小写不敏感,的别名也不敏感。...1 表名硬盘上以小写保存,名称比较对大小写敏感。MySQL将所有表名转换为小写以便存储和查找。该行为也适合数据库名和表的别名。该值为Windows和Mac OS X系统中的默认值。...2 表名和数据库名硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写进行保存,但MySQL将它们转换为小写以便查找。名称比较对大小写敏感。...例外:如果你正使用InnoDB表,在任何平台上均应将lower_case_tables_name设 置为1,以强制将名转换为小写。...请注意在Unix中将lower_case_tables_name设置为1之前,重启mysqld之前,必 须先将旧的数据库名和表名转换为小写

97530

data.table包使用应该注意的一些细节

fread中nThread 参数的使用   注意默认nThread=getDTthreads(),即使用所有能用的核心,但并不是核心用的越多越好,本人亲自测试的情况下,其实单核具有较强的性能,只有在数据大于...  as.matrix作用于data.table时会调用as.matrix.data.table,有一个rownames参数可以指定保留为行名的 矩阵转换成data.table时可以保留列名   ...as.data.table函数中同样有一个rownames参数,设置为T可以将行名保留下来作为data.table的一 不建议set和for循环一起使用   虽然set可以在内存上直接改变数值,但在R...中用for循环比批量运算慢的多,因此首选:=或者apply等 处理浮点数时会有一些准确性的问题   比如用seq函数numeric类型的数值时,会存在不准确的问题,比如seq(0,1,by=0.2)...中的0.6就不等于0.6, 虽然很费解,但这是因为计算机存储浮点数时出现的一些问题。

1.5K10

懒癌必备-dplyr和data.table让你的数据分析事半功倍

接下来,我就为大家分享几个我工作当中最常用来做数据分析用到的包,dplyr和data.table,我保证你get到这两个包后,就再也不想用R里面自带的基础包函数进行数据分析了!!...select(df,V1,V2,V3) 选择V1,V2,V3数据 select(df,V1:V3) 选择V1到V3所有数据 t<-select(df,-c(V1,V3)) 选择除了V1,V3...以外的所有 distinct( ) 去重 distinct(df,V1,V2) 根据V1和V2两个条件来进行去重 基础包里面也有一个去重函数unique() ※注意distinct()可以针对某些进行去重...data.table包 dplyr已经可以满足我们数据分析工作中大部分的需求,后来该包的作者又开发了一个炫酷吊炸天的包“data.table” 如果你的日常处理数据几万到十几万行,那么用dplyr..."B")] 使用j DT[,v1] #选择v1 那如果我要选择多呢,大家注意一下这里不是用c()来选取了, 而是通过.()来选取,注意前面有一个”.”号,所以我说data.table的语法有点奇怪呢

2.4K70

好强一个Julia!CSV数据读取,性能最高多出R、Python 22倍

由于Pandas不支持多线程,因此报告中的所有数据均为单线程的速度。 浮点型数据集 第一个数据集包含以1000k行和20排列的浮点值。 ? Pandas需要232毫秒来加载此文件。...字符串数据集 I 此数据集且具有1000k行和20,并且所有中不存在缺失值。 ? Pandas需要546毫秒来加载文件。 使用R,添加线程似乎不会导致任何性能提升。...单线程data.table读取大约比CSV.jl快两倍。 但是,使用更多线程,Julia的速度与R一样快或稍快。 宽数据集 这是一个相当宽的数据集,具有1000行和20k。...房利美收购数据集 从房利美网站上下载的数据集,有4000k行和25,数据类型为:Int、String、Float,Missing。 ? 单线程data.table比CSV.jl快1.25倍。...可以看出,在所有八个数据集中,Julia的CSV.jl总是比Pandas快,并且多线程的情况下,它与R的data.table互有竞争。

2K63

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

这些问题都是在平日的工作中有很高可能性出现并且看似容易实则让人抓狂的问题,Stackoverflow上他们有着很高的人气。事实上,这些问题也就是你“看懂一本R的教材”和“成为R大神”之间的距离。...如果要自己寻找Stackoverflow上与R或是data.table相关的问题,可以搜索栏输入[R] [data.table] Your question。 提 出问题 好啦,开始上课!...(fund_name)] 其中的关键在于拼接函数c(),它将不同的向量拼接成了一。另外,这个操作是不是有点熟悉?...事实上,大猫把整个过程分解成了好几步,如果对于data.table包比较熟悉,完全可以一行之内搞定所有事情,根本不需要把进行数据集的拆分、合并: ▶ t.final <- t1[, ":="(mean.scale...(fund_name)][is.finite(mean.scale)] 提示:把<em>所有</em>步骤打包成一步的关键在于“:=”符号的运用。 本 期总结 本期大猫带领大家学习了如何在R中按照行进行处理。

1.3K20

R练习50题 - 第一期

我们的所有答案都将使用data.table这个包。我们认为data.table是最优秀的数据处理工具,没有之一。...data.table的语法中,先进行列选择操作,再对进行处理。所以上述语句会先执行str_detect,再执行unique。 练习2:每天上涨和下跌的股票各有多少?...这是因为data.table的第一个语句用来对进行选择,由于我们这里需要对所有进行统计,所以不需要进行任何操作。 keyby用来进行分组,是整个代码的核心。先来看keyby = ....我们的答案中,行、以及分组三条语句各占一行,实际上这仅仅是为了让代码更直观。...如果你愿意,data.table允许你把所有的代码都写在同一行,就像这样: 下期预告 在下一期,我们会继续带来剩余题目的解答~ 大猫的R语言课堂 我是大猫,一个高中读文科但却在代码、数学的路上狂奔不止的

2.4K40

Matt Dowle 演讲节选(二)

换句话说,哪怕 global environment 中存在一个叫做 B 的变量,那么data.talbe在运行的时候也会“认” DF 中的那个叫做 B 的,而不是 global environment...2004-2012: data.table不断进化 一开始的data.table只是 Matt 为了方便自己工作而创作的,到了2008年,Matt GPL 开源协议下发布了data.table。...因为任何对的处理都必须导致数据集在内存中的复制,也即假如我们的内存是 4G,那么使用data.frame的情况下,我们最大就只能处理 2G 的数据集!...一个更极端的例子是,加入你 4G 内存中 装下了一个 3G 的数据集,这时你想要删去其中的一都是不可能的,因为data.frame中,哪怕删除操作都会导致数据集的复制!...,有 85 条关于data.table的问题没有被回答,占 15.3%; 所有关于data.table的历史问题中,1542条没有被回答,占 8.6%。

1.1K40

「r」dplyr 里的 join 与 base 里的 merge 存在差异

今天使用连接操作时发现:虽然都是合并操作函数,dplyr 包里的 *_join() 和基础包里面的 merge() 存在差异,不同的数据结构,结果也会存在偏差。...相同的数据,不同的操作函数存在差异 进行连接操作时,我们会发现 dplyr 的结果会报错!...一般工作情况下,不同的数据子集都存在可以连接的,所以无论上述哪种方法都可以胜任工作。...但特殊情况下,即类似我上述构造的数据集:数据子集不是所有但两两之间都存在共有的,但按照一定的顺序确实能够将其合并。...检查 be_join 第一个子集的与 to_join 存在共同 等待循环结束 我们可以查看结果: to_join[, c("r1", "r2", "r3", "r4", "r5")] #> r1

1.5K30
领券