R语言-零碎知识点
炫炫有牛腩
这个作者很懒,什么都没留下…
展开
-
R语言-引用函数对象作为参数
问题描述如何在在R的函数中通过字符串调用别的函数。 以下面为例子:testFun <- function(Fun){ x <- 1:100 Fun(x)}解法这个问题没什么其实很笨,就是想记录一下。#1. 直接调用testFun <- function(Fun){ x <- 1:100 Fun(x)}testFun(sum) # 5050testFun(Fun =原创 2017-03-17 17:41:22 · 8514 阅读 · 2 评论 -
R语言-基础操作(批量数据读取和输出)
使用R语言时一个常遇到的问题,就是文件的批量读取和对结果的批量输出。批量读取批量读取数据,有两种形式,读取一个目录下的所有文件,从数据库中读取多个表。##读取同一目录下的所有文件path <- "F:/Rfile/OD-B/Data" ##文件目录fileNames <- dir(path) ##获取该路径下的文件名filePath <- sapply(fileNames, function原创 2015-12-29 17:17:09 · 33073 阅读 · 2 评论 -
R语言--tapply,sapply(因子和列表的操作)
最近参加了一个小比赛,其中的tapply,sapply(lapply)函数可以快速实现我的目的和有效减少代码量 f 说明 tapply(x,f,g) x为向量,f为因子列,g为操作函数,相对数据框进行类似操作可以用by函数 sapply(list,g) g为操作函数,返还结果为向量,而lapply返还结果为list形式。常与split结合使用example数据为980路公交车原创 2015-12-15 00:15:41 · 26933 阅读 · 2 评论 -
R语言-基础总结(因子)
因子操作常用函数: 常用函数中的tapply,aggregate,by三个函数参数类似,但是其作用范围有所不同。 Function introduce tapply(x, f, g) x是向量,f是因子列,g是操作函数。 aggregate(x, f, g) x是数据框或矩阵,f是因子列,g是操作函数,对x中的每一列都进行tapply的操作,tapply的扩展。 by(x,原创 2015-12-05 00:20:52 · 985 阅读 · 0 评论 -
R语言-基础总结(列表)
关于列表操作,最易遗忘的两个小点,一是列表是向量,二是列表的一个中括号和两个中括号的索引区别。一 列表是向量,length可以提取其列表的长度,vector可以通过调整mode来创建列表。二 1)单中括号返还的是一个新的列表,是原列表的自列表 2)双括号返还的是组件本身的类型,而非列表所以针对列表进行重新排序,或者删除列表的某个组件等操作是利用单中括号进行的.##example,;列表排原创 2015-12-03 16:54:14 · 1130 阅读 · 0 评论 -
R语言--基础总结(排序)
R中自带排序函数有order,sort两个函数,plyr中有arrange。 order和sort是针对向量进行操作的,arrange针对数据框。其中order返还排序后的坐标,sort返还排序后的值,arrange返还的是基于某列排序后的数据框 (x <- cbind(x1 = 3, x2 = c(4:1, 2:5))) x1 x2[1,] 3 4[2,] 3 3[3,]原创 2015-12-02 13:57:37 · 4664 阅读 · 0 评论 -
R语言-读取前n行数据
通常我们读取文件时都会读取全部的文件然后再进行操作,但是当读取的数据量很大是读取的时间会很长,而且占用RAM,对于写测试代码有点不方便。所以只读取前n行数据是一个挺不错的函数。##file:读取文件路径##n:读取的前n行##header:是否有标题行readfile<-function(file, n=1000, header=T){ pt <- file(file, "r") na原创 2016-03-10 17:02:42 · 56109 阅读 · 1 评论 -
R语言-data.table包
待到最近才发现了这么一个牛逼的包 data.table。它的fread函数读取1G的CSV文件才用了20s左右。其他对data.frame的操作,也快了N倍。这篇笔记包括简介,data.table的特点,速度比较,常见语法。简介 data.table继承于data.frame。它提供了一个快速通道,让我们能更加快速的读取文件,对数据进行筛选、分组、排序、联表,而且其语法灵活、简介。由于data.原创 2016-03-18 00:54:55 · 10871 阅读 · 0 评论 -
R语言-数据离散化与合并对象
cut函数cut函数可以快速的将连续型数据转变成离散数据。基本形式:cut(x, breaks, labels = NULL, include.lowest = F, right = T, dig.lab = 3, ordered_result = F)参数含义: 参数 描述 x 数值向量 breaks 指定分割点的数量的整数,或者制定分割点位置的向量 l原创 2016-08-04 16:02:25 · 6038 阅读 · 0 评论 -
R语言-dplyr
主要函数 函数 作用 filter() 进行子集筛选,类似subset() arrange() 数据框重新排列 select() 进行变量的筛选,可以对starts_with、ends_with、contains、matches、num_range、one_of、everything等函数进行传递 mutate() 添加新列 transmute() 类似原创 2016-10-22 22:19:15 · 5088 阅读 · 0 评论 -
R语言-字符串处理
摘自:http://www.biostatistic.net/thread-195-1-1.html用于字符串分割的函数: 如strsplit('123abcdefgabcdef','ab')[[1]][1] "123" "cdefg" "cdef" 字符串连接:paste() #paste(..., sep = " ", collapse = NULL)字符串分割:strsplit()转载 2016-11-26 17:32:46 · 940 阅读 · 0 评论 -
R语言-快速提取所有的组合
以 1, 2,3为例,要提取他们的所有组合的可能性,那么一共有C16+C26+C36C^1_6+C^2_6 + C^3_6 种情况,计算结果为:considerNum <- sapply(1:3, function(x) choose(3,x))# 3 3 1sum(considerNum)# 7为快速提取他们所有组合,用矩阵的思考方法,利用Bit矩阵进行提取。原理以1,2,3为例子。需用矩原创 2016-12-08 16:35:51 · 12785 阅读 · 1 评论 -
深入了解R语言-S4
R语言中的S4相比S3的具有层次结构,它有着明确的类定义、参数定义以及参数检查、继承关系、接口函数等,其编程特点都是基于泛型函数的面向对象编程。趁着假期整理一下近期对S4的学习整理。什么时候使用S4当自己想写一条具有泛化性的泛型函数。例如,我想建立一个简单的数值对战模拟:两个人物用普通攻击互砍,看HP先降为0。 那么我们希望有一个泛型CommonAttack函数表达他们各自的普通攻击计算方式。即人原创 2017-02-02 16:48:52 · 5793 阅读 · 2 评论 -
R语言-reshape2
R语言学习笔记-reshape2reshape2是一个强大的数据处理操作的R包。 主要函数,melt,*cast.两个函数melt###S3 method for class 'data.frame'melt(data, id.vars, measure.vars, variable.name = "variable", ..., na.rm = FALSE, value.name = "v原创 2015-04-28 05:11:03 · 9487 阅读 · 0 评论