楼主: weibazyy
2661 2

[学习分享] R语言实战-第4章-基本数据管理-学习笔记 [推广有奖]

  • 0关注
  • 0粉丝

本科生

40%

还不是VIP/贵宾

-

威望
0
论坛币
2728 个
通用积分
0.0600
学术水平
14 点
热心指数
14 点
信用等级
5 点
经验
510 点
帖子
24
精华
0
在线时间
149 小时
注册时间
2014-4-28
最后登录
2015-11-29

楼主
weibazyy 发表于 2014-10-13 20:38:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

RT,最近在啃R语言实战。计划每看完一部分,把看到的代码分类记录一下,以免忘记。在自家blog上存过

> <好久没那么认真啃一本书了,与各位共勉,之前用excel用的很多,现在学习R1-4章时,感觉就像回到了最开始用excel操作单元格,学习各种基本操作的年代……


入门书籍: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: 在按需创建新变量,并保存到数据框时,可用。举例如

  1. mydata<-transform(mydata,
  2.                             sumx=x1+x2,
  3.                            meanx=(x1+x2)/2)}
复制代码

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

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

  1. test<-within(数据,{
复制代码

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)修改,举例如:

  1. mydata<-as.Date("2014-10-12")

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

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

Date():输入当前时间‘

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

difftime():计算时间间隔

  1. today<-Sys.Date()
  2. 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语言 习笔记 R语言 r语言入门 R语言实战

已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
lwy4965944 + 5 + 5 + 5 精彩帖子
李会超 + 36 + 36 + 1 对论坛有贡献
dxystata + 40 + 40 + 1 + 1 鼓励积极发帖讨论

总评分: 经验 + 76  论坛币 + 76  学术水平 + 7  热心指数 + 6  信用等级 + 5   查看全部评分

沙发
hanliuyun 发表于 2014-10-14 00:01:31
帮顶,最近也在看这本书

藤椅
铁锷未残 学生认证  发表于 2014-11-12 23:42:48
谢谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 14:14