一.apply函数(对一个数组按行或者按列进行计算): 使用格式为:apply(X, MARGIN, FUN, ...) 其中X为一个数组:MARGIN为一个向量(表示要将函数FUN应用到X的行还是列),若为1表示取行,为2表示取列,为c(1,2)表示行.列都计算.apply()函数的处理对象是矩阵或数组,它逐行或逐列的处理数据,其输出的结果将是一个向量或是矩阵.下面的例子即对一个随机矩阵求每一行的均值.要注意的是apply与其它函数不同,它并不能明显改善计算效率,因为它本身内置为循环运算. 示…
熟练运用R语言的集合操作在很多时候可以省去for循环,从而提升数据处理效率.废话不多说,集合操作相对简单,贴一段代码就懂了! > A<-: > A [] > B<-,,) > B [] > C<-: > C [] > union(A,B) # 求A和B的并集 [] > intersect(A,B) #求A和B的交集 [] > setdiff(A,B) #求A-B 即属于A但不属于B的元素 [] > setequal(A,B) #…
R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理的步骤进行了程序上的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度.因此,在对大数据处理上,使用data.table无疑具有极高的效率.这里主要介绍在基因组数据分析中可能会用到的函数. fread 做基因组数据分析时,常常需要读入处理大文件,这个时候我们就可以舍弃read.ta…
1 取整运算 在编程实现的时候有时会碰到对数值取整的需求,而取整的方式却多种多样,依赖于具体问题,不过在R中已经配备了种类齐全的相关函数,主要包括以下五种: floor():向下取整: ceiling(): 向上取整: round(): 四舍五入取整: turnc(): 向0取整: signif(): 保留给定位数的精度. 2 浮点数 关于浮点数的问题几乎在每一本关于数值分析的书中都会在第一章中提及,而因为浮点数导致的计算精度问题也几乎在各式各样的数学和统计软件中碰到,不妨看一个比较简单的例子…
melt函数可以将宽数据转化为长数据 dcast函数可以将长数据转化为宽数据 > DT = fread("melt_default.csv") > DT family_id age_mother dob_child1 dob_child2 dob_child3 1: 1 30 1998-11-26 2000-01-29 NA 2: 2 27 1996-06-22 NA NA 3: 3 26 2002-07-11 2004-04-05 2007-09-02 4: 4 32 2…
R语言是单线程的,如果数据量比较大的情况下最好用并行计算来处理数据,这样会获得运行速度倍数的提升.这里介绍一个基于Unix系统的并行程序包:multicore. 我们用三种不同的方式来进行一个简单的数据处理: 我们从 1000 genome project 数据库下载了VCF文件,现在需要手动提取出每个allele的 allele frequency(AF)值(vcftools 可以很好的解决这个问题,但是假设我的vcf文件没有genotype, 或者我要实现一些个性化功能,那么可能要手动解决)…
在R语言里操作和接触的所有东西都称作对象(object).对象有很多种类 可以包含各种类型的数据.R 语言里所有的东西都被称为对象,R语言中常见的数据类型有几下几种,分别是字符型 (character).数值型 (numeric).复数型 (complex)以及逻辑型 (logical).通过mode()函数可以查看一个对象的类型. R语言中的基本运算包括以下:数学计算,比较运算,运算函数,向量常用统计函数,矩阵常用函数集合运算,向量化,从文件中读取数据,概率分布,循环和条件操作. 打开R语言的…
#---------------------------------------- # 功能描述:演示C50建模过程 # 数据集:汉堡大学信贷模型,信贷数据 # #---------------------------------------- #第一步:收集数据 # import the CSV file credit <- read.csv("/Users/chenyangang/R语言/data/credit.csv", stringsAsFactors = TRUE) #…
by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there to comment and to read  the full post. 一.数据导入 对初学者来讲,面对一片空白的命令行窗口,第一道真正的难关也许就是数据的导入.数据导入有很多途径,例如从网页抓取.公共数据源获得.文本文件导入.为了快速入门,建议初学者采取R语言协同Excel电子表格的方法.也就…
转自:http://blog.csdn.net/wa2003/article/details/45887055 R语言提供了批量处理函数,可以循环遍历某个集合内的所有或部分元素,以简化操作. 这些函数底层是通过C来实现的,所以效率也比手工遍历来的高效.批量处理函数有很重要的apply族函数:lapply sapply apply tapply mapply.apply族函数是高效能计算的运算向量化(Vectorization)实现方法之一,比起传统的for,while常常能获得更好的性能. ap…