收藏 分享(赏)

R软件基础知识与实战.doc

上传人:hyngb9260 文档编号:9142948 上传时间:2019-07-25 格式:DOC 页数:54 大小:205.50KB
下载 相关 举报
R软件基础知识与实战.doc_第1页
第1页 / 共54页
R软件基础知识与实战.doc_第2页
第2页 / 共54页
R软件基础知识与实战.doc_第3页
第3页 / 共54页
R软件基础知识与实战.doc_第4页
第4页 / 共54页
R软件基础知识与实战.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、R 软件基础知识与实战第一课:基本知识第二课:基本运算第三课:画图第四课:数据整理和数据分析第五课:统计分析第六课:分布的产生第七课:求导和极值的计算第八课:Bootstrap 方法第九课:MCMC 算法第一课 基本知识一R 的历史与特点Object-oriented 语言二R 系统介绍安装镜像Installing packages library(survival) # 加载程序包library(help=survival) # 显示程序包 survival 里的内容help(mean) #查看关于函数 mean 的帮助search() # 给出系统里已加载的程序包searchpaths()

2、 # 给出系统里已加载的程序包的路径Commands are separated either by semicolon or a new line三Data objects# There are 7 basic types of data objects:# Vector, Matrix, Array, List, Factor, Time series, Data frame# creating vectors# vector type: character, numeric, integer, logical, complexmy1 5/0Inf 0/0NaN # not a numbe

3、r a = c(1,2,3,NA,4) # NA represents missing value mean(a)1 NAa = c(“asia“,“da“,NA) # NA 也可以代表字符型的 missing valuea = c(T,F,T,T, NA)# NULL 代表一个空值a = NULL # a is a empty vectorfor( i in 1: 10) ai = i2# testing and coercingletter = factor (letters) is.vector(letter) # test whether letter is a vector1 FAL

4、SE letter = as.vector(letter) # coerce letter into a vectoris.matrix()as.matrix()is.data.frame()as.data.frame()is.list()as.list()write.table(lizard, “E:/R/new.Rdata“)new = read.table(“E:/R/new.Rdata“)save(a,lizard,new x, file=“E:/R/mydump.rda“)load(file=“E:/R/mydump.rda“)sink(“E:/R/new22.txt“) lizar

5、d ls() sink()四Data manipulation逻辑运算符号符号 意义= = 等于!= 不等于= 大于等于 大于= 30 # 一个逻辑值向量myseqmyseq =30 # 给出 myseq 里大于等于 30 的所有值 x 2x x 2 else sigma - 0sigma smry - function(X) mu - mean(X); sigma - stdv(X); c(mu=mu,sigma=sigma)patients - c(“0071021198307012008001400400150“,“0071201198307213009002000500200“,“00

6、90903198306611007013700300000“,“0050705198307414008201300900000“,“0050115198208018009601402001500“,“0050618198207017008401400800400“,“0050703198306414008401400800200“)id - substr(patients,1,3); date - as.Date(substr(patients,4,11), format = “%m%d%Y“)hr - as.numeric(substr(patients,12,14); sbp - as.n

7、umeric(substr(patients,15,17)dbp - as.numeric(substr(patients,18,20); dx - substr(patients,21,23)docfee - as.numeric(substr(patients,24,27); labfee - as.numeric(substr(patients,28,31)tapply(hr,id,mean); tapply(hr,id,stdv)# 希望将这些结果更紧凑的表现出现PATIENTS - data.frame(id,hr,sbp,dbp,docfee,labfee)str(PATIENTS

8、)smry(PATIENTSid=005,2:6); smry(PATIENTSid=007,2:6); smry(PATIENTSid=009,2:6)by(PATIENTS2:6, id, smry) ; by(PATIENTS2:6, id, summary)# 计算 HR, SBP, DBP 的最后一个观测值和第一个观测值的差HrSbpDbp - data.frame(id,date,hr,sbp,dbp)order(HrSbpDbp$id, HrSbpDbp$date) # order of sorted rowsHrSbpDbpSorted - HrSbpDbporder(HrSb

9、pDbp$id, HrSbpDbp$date), HrSbpDbpSorted # original row numbers still appear at left . ID - HrSbpDbpSorted,1; HR - HrSbpDbpSorted,3; SBP - HrSbpDbpSorted,4; DBP - HrSbpDbpSorted,5which(ID=“005“) # remember which function from r5.R by(HrSbpDbpSorted4, ID, TailHead);by(HrSbpDbpSorted5, ID, TailHead)# n

10、ow want gaps (in days) between every pair of adjacent visitsDATE - HrSbpDbpSorted,2diff(DATEwhich(ID=“005“) # use DATE, not datediff(DATEwhich(ID=“007“); diff(DATEwhich(ID=“009“)by(DATE, ID, diff)五.去掉 duplicated 值attach(cars)carsorder(price), # sort in terms of increasing pricecarsorder(ctympg,hwymp

11、g), # increasing ctymp; increasing hwympgcarsorder(ctympg,-hwympg), # increasing ctymp; decreasing hwympgcars!duplicated(type), # gives exactly one (the first) of each type of cartype1:24duplicated(type1:24) # T if duplicate; F if not!duplicated(type1:24) # opposite of aboveMT - subset(cars,select=c

12、(manu,type); MT1:10,; !duplicated(MT1:10,)cars!duplicated(MT), # gives exactly one (the first) of each (manu,type) of car# another function, unique, at first glance seems like it might do the same.unique(type) detach(cars)第五课 统计分析 一t-test# Daily energy intake in kJ for 11 women (Altman, 1991) daily.

13、intake - c(5260,5470,5640,6180,6390,6515,6805,7515,7515,8230,8770)plot(daily.intake) # unsatisfactoryplot(daily.intake,xlab=“subject“,xaxt=“n“,main=“Energy intake for 11 subjects“)axis(1,at=seq(1,11,1) # puts one tick mark per subject#Does the womens energy intake deviate significantly from a recomm

14、ended value of 7725?t.test(daily.intake, mu=7725) # we reject H0 at 5% significance level# Same question, but want a 99% confidence interval insteadt.test(daily.intake,mu=7725, conf.level=0.99) # we accept H1 at 1% level# Is the womens energy intake significantly less than a recommended value of 7725 kJ?t.test(daily.intake, mu=7725,conf.level=0.99, alt=“l“) # we reject H0 at 1% level # Comparing energy expenditure between lean & obese women# Two-sample t testlibrary(ISwR)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报