入门书籍:R语言实战

进度:1-4章

摘要:

1)实用的包

forecast:用于做时间序列预测的,有auto.arima函数

RODBC:可以用来读取excel文件。但据说R对csv格式适应更加良好,相应的导入导出均较为方便(read.table, write等)

reshape:目前用到rename函数,可以方便的对数据变量重命名

fCalendar:在日期输入处提及,据说对日期运算有奇效,但无具体示例。同理如lubridate

sqldf:在数据选取处提及,可代替subset以及各种where,即sql语句

2)数据导入

data.frame(变量1,变量2,变量3)

attach/detach:一套使用,不必重复输入数据框,直接输入变量名即可定位/同理还有with

read.table(文件路径,header=TRUE,sep=","):这里sep为分隔符

3)数据处理

is.na:判断缺失值是否存在

transform: 在按需创建新变量,并保存到数据框时,可用。举例如

mydata<-transform(mydata,
sumx=x1+x2,
meanx=(x1+x2)/2)

逻辑运算符:见P68,内有!=,不等于,!x非x等等

变量分组赋值重编码:先把所有数值赋值为NA,然后逐个判断,并赋予新值

test<-within(数据,{
agecat<-NA
agecat[age>75]<-"Elder"
agecat[age>=55 & age <=76]<-"Middle")
}

within:如上例用于赋值,与with类似但允许修改数据框,另外有提及recode,recodevar等充电吗

fix(数据):直接弹出交互式编辑器,可编辑数据

rename:用于重命名,reshape包

is.na:用于判断缺失值是否存在,缺失值为TRUE,非缺失值为FALSE(不能用==比较,因为默认缺失值不可比较)

na.rm=TRUE:用于在sum/avg等计算中,如果有缺失值时,忽略缺失值。否则函数会报错

na.omit:用于删除包含缺失值的行,一般数据量小时不建议使用

as.Date:表示将要输入的数据是日期,默认为yyyy-mm-dd,但可通过format(具体见P73)修改,举例如:

mydata《-as.Date("2014-10-12")

myformat<-"%m/%d/%y"
date<-as.Date(日期型变量,myformat直接引用之前的变量)

Sys.Date():输入当天日期;

Date():输入当前时间‘

format(x,format=输入的日期):指定输入什么日期

difftime():计算时间间隔

 today<-Sys.Date()
born<-as.Date("1999-11-11")
difftime(today,born,units="weeks"/"days"/"hours"/"months"...)

is/as.datetype:判断,生成某个数据类型,如numeric, vector, logical等

order:数据排序,结合attach使用

merge():用by=变量名,来指定合并对象。这里NA影响很大,具体看帮助里的实例,可用incomparables去掉不要的观测值

cbind:不管其他,直接横向连接

rbind:总想合并,必须拥有相同的变量,顺序可以不一样

然后有提及一堆子集选取,但最好的是

subset/sqldf:用于数据提取。见P79-80

另外:

1:50,表示从第一个变量取到第50个变量

1-50:这里表示第一个变量不取……

R入门<三>-R语言实战第4章基本数据管理摘要的更多相关文章

  1. [读书笔记] R语言实战 (四) 基本数据管理

    1. 创建新的变量 mydata<-data.frame(x1=c(2,2,6,4),x2=c(3,4,2,8)) #方法一 mydata$sumx<-mydata$x1+mydata$x ...

  2. R语言实战 第7章

    # 01 描述性统计分析 --------------------------------------------------------------#针对总体的mycavs = mtcars[,c( ...

  3. R语言实战读书笔记(五)高级数据管理

    5.2.1 数据函数 abs: sqrt: ceiling:求不小于x的最小整数 floor:求不大于x的最大整数 trunc:向0的方向截取x中的整数部分 round:将x舍入为指定位的小数 sig ...

  4. R语言实战读书笔记(四)基本数据管理

    4.2 创建新变量 几个运算符: ^或**:求幂 x%%y:求余 x%/%y:整数除 4.3 变量的重编码 with(): within():可以修改数据框 4.4 变量重命名 包reshape中有个 ...

  5. R语言实战(四)—— 基本数据管理

    一.基础操作 1.根据数据信息,创建数据框 > manager <- c(1,2,3,4,5) > date <- c("10/24/08","1 ...

  6. [读书笔记] R语言实战 (五) 高级数据管理

    1. 数值函数 1) 数学函数 2) 统计函数 3. 数据标准化 scale() 函数对矩阵或者数据框的指定列进行均值为0,标准化为1的标准化 mydata <- data.frame(c1=c ...

  7. R语言实战(三)基本图形与基本统计分析

    本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...

  8. R语言实战(一)——基础入门

    从今天开始接触R语言,主要参考的书籍是<R语言实战>. 1.安装R语言程序 Windows:http://mirror.bjtu.edu.cn/cran/ Linux:apt-get in ...

  9. R语言实战(第二版)-part 1笔记

    说明: 1.本笔记对<R语言实战>一书有选择性的进行记录,仅用于个人的查漏补缺 2.将完全掌握的以及无实战需求的知识点略去 3.代码直接在Rsudio中运行学习 R语言实战(第二版) pa ...

随机推荐

  1. 浅谈Oracle权限体系

    对于数据库来讲,安全性的重要程度不言而喻,今天我们就来聊一聊Oracle的权限体系. 1.账户管理 在此之前,先解释下一个容易混淆的概念:模式.所谓模式,指的是用户账户所拥有的一组对象(比如表,索引, ...

  2. Leetcode: climbing stairs

    July 28, 2015 Problem statement: You are climbing a stair case. It takes n steps to reach to the top ...

  3. Linux操作系统启动流程梳理

    接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程:一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下 ...

  4. Java并发编程:Lock

    原文出处: 海子 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包 ...

  5. MVC FormCollection collection

    1.通过name获取值 collection.GetValues() 返回一个数组,适用于多选等,如果是单值可以[0] 2.直接转化为实体 将Action动作中传递的FormCollection转变成 ...

  6. Mysql完全手册(笔记一,底层与内置函数)

    1.MySQL由五个主子系统组成.协同工作,这五个主子系统是: (1)查询引擎 (2)存储管理器 (3)缓冲管理器 (4)事务管理器 (5)恢复管理器 查询引擎: 这个子系统包含三个相互关联的部件: ...

  7. IO(六)--- 编码和解码

    编码: 把看得懂的字符变成看不懂码值这个过程我们称作为编码. 解码: 把码值查找对应的字符,我们把这个过程称作为解码. 注意: 以后编码与解码一般我们都使用统一的码表.否则非常容易出乱码. 常用码表: ...

  8. PyCharm3.0默认快捷键(翻译的)

    PyCharm3.0默认快捷键(翻译的) PyCharm Default Keymap 1.编辑(Editing) Ctrl + Space    基本的代码完成(类.方法.属性)Ctrl + Alt ...

  9. ActiveX控件之ActiveXObject is not defined

    ActiveX控件方便用户在网页中插入各种效果,但是并不是所有浏览器都支持该控件. ActiveX是微软独有的,只有基于IE内核的浏览器才能使用. 当出现如上错误,可以将通过该控件创建的对象定义为本地 ...

  10. JQuery中each()的使用方法说明

    JQuery中each()的使用方法说明 对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的eac ...