Data Analysis Tools and 2018.03.06 Practice(Using R) R数据对象I 北大软件与微电荐院 Huiping Sun(孙惠平) School of Software and Microelectronics,Peking University sunhp@ss.pku.edu.cn
Huiping Sun(ਃణଘ) sunhp@ss.pku.edu.cn R数据对象I Data Analysis Tools and Practice(Using R) 2018.03.06
课堂测试时间
᧞झၥᦶᳵ
R Data I 课堂测试01 ·1、数据分析包括几个过程? ●2、简单描述R语言优点。 ●3、填写下表: 功能 函数 功能 函数 安装vcd包 使用maps包 显示当前工作目录 demo(image) 帮助 查看函数mean(0的示例 source() sink() ?c dev.off() 4、写出命令,实现如下功能:创建一个从I到9的向量并赋给x,将1付给y, 并写出x+y的结果。 ● 5、RStudio主界面一般有几个功能区?.Rprofile、.Rdata、.Rhistory.文件分别 有什么作用?
• 1̵හഝړຉ۱ೡپӻᬦᑕҘ • 2̵ᓌܔൈᬿRսᅩ̶ • 3̵ऴٟӥᤒғ • 4̵ڊٟե҅ਫሿইӥۑᚆғڠୌӞӻ1ک9ጱݻᰁଚᩙᕳx҅ਖ਼1՞ᕳy҅ ଚڊٟx+yጱᕮຎ̶ • 5̵RStudioԆኴᶎӞᛱํپӻۑᚆ܄Ҙ.Rprofile̵.Rdata̵.Rhistoryկڦړ ํՋԍ֢አҘ R Data I 课堂测试01
R Data I 上次课程内容回顾 软件安装和熟悉:R;RStudio;Swirl; ● R基本使用:提示符(>):赋值符号(<-):;注释(#): 包:install.package((;library(0; 帮助:help.start(0;help;;args();demo()example()date() 输入输出:source();sink);catO;print(0;dev.off0: ,工作空间: 米文件:file.create(;fle.exist0(;fle.info0;fle.rename(;file.remove(;fle.copy0: file.path(); 米目录:dir.create(0;dir0:list.files(); 米工作目录:getwd0;setwd0;objects;ls);rmO: ·其余: 米对象:c0;mean0;sd);cor):plot
• կਞᤰᆧఀғR; RStudio; Swirl; • Rचֵአ: ᐏᒧ(>); ᩙᒧݩ ;(#)᯽ဳ ;{} ;(->) • ۱: install.package(); library(); • ଆۗ: help.start(); help(); ?; args(); demo(); example(); date(); • ᬌفᬌڊ :source(); sink(); cat(); print(); dev.off(); • ૡ֢ᑮᳵғ ✴ կғfile.create(); file.exist(); file.info(); file.rename(); file.remove(); file.copy(); file.path(); ✴ ፓ୯: dir.create(); dir(); list.files(); ✴ ૡ֢ፓ୯: getwd();setwd(); objects(); ls(); rm(); • ٌ֟ғ ✴ : c(); mean(); sd(); cor(); plot(); R Data I 上次课程内容回顾
R Data I 数据集 表2-1病例数据 病人编号 入院时间 年龄 糖尿病类型 病情 (PatientID) (AdmDate) (Age) (Diabetes) (Status) 1 10/15/2009 25 Typel Poor 2 11/01/2009 34 Type2 Improved 3 10/21/2009 28 Typel Excellent 4 10/28/2009 52 Typel Poor 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。 ● 中有许多用于存储数据的结构,包括标量、向量、数组、数据框和列 表。 R可以处理的数据类型(模式) 包括数值型、字符型、逻辑型(TRUE/ FALSE)、复数型(虚数) 和原生型(字节)】 ●在R中,对象(object)是指可以赋值给变量的任何事物,包括常量、 数据结构、函数,甚至图形
R Data I 数据集 • හഝᵞ᭗ଉฎኧහഝ౮ጱӞӻᎥ୵හᕟ҅ᤈᤒᐏᥡၥ҅ڜᤒᐏݒᰁ̶ • RӾํᦜग़አԭਂؙහഝጱᕮ҅۱ೡຽᰁ̵ݻᰁ̵හᕟ̵හഝڜ ᤒ̶ • Rݢզ॒ቘጱහഝᔄࣳҁཛྷୗ҂۱ೡහࣳਁ̵ᒧ̵ࣳ᭦ᬋࣳҁTRUE / FALSE҂̵॔හࣳҁᡦහ҂ܻኞࣳҁਁᜓ҂̶ • ࣁR Ӿ҅ҁobject ҂ฎݢզᩙᕳݒᰁጱձ֜Ԫᇔ҅۱ೡଉᰁ̵ හഝᕮ̵ڍහ҅ኜᛗࢶ̶୵
R Data I 数据结构 (b)矩阵 (c)数组 (a向量 定义 ·提取 (d)数据框 向量 ·操作 数组 (e)列表 数据框 列表 各列的模式(modes)可以不同 图2-1R中的数据结构
R Data I 数据结构 • ਧԎ ݐ • • ֢
R Data I 向量 向量是用于存储数值型、字符型或逻辑型数据的 一维数组。执行组合功能的函数c0可用来创建向 量。 标量是只含一个元素的向量,例如fk-3、g<- "US"和h<.TRUE。它们用于保存常量。 通过在方括号中给定元素所处位置的数值,我们 可以访问向量中的元素。 ·使用冒号)用于生成一个数值序列
• ݻᰁฎአԭਂؙහࣳਁ̵ᒧࣳ᭦ᬋࣳහഝጱ Ӟᖌහᕟ̶ಗᤈᕟۑݳᚆጱڍහc() ݢአڠୌݻ ᰁ̶ • ຽᰁฎތݝӞӻزᔰጱݻᰁֺ҅ইf<-3 ̵g <- "US" h <- TRUE ̶ਙժአԭכਂଉᰁ̶ • ᭗ᬦࣁොೡݩӾᕳਧزᔰಅ॒֖ᗝጱහ҅౯ժ ̶ᔰزᰁӾጱݻզᦢᳯݢ • ֵአٛݩ(:)አԭኞ౮Ӟӻහଧڜ̶ R Data I 向量
R Data I 创建向量和访问向量 ●a<-c(l,2,5,3,6,-2,4) 数值类型 o b <c("one","two","three") 字符类型 c<-c(TRUE,FALSE,TRUE,FALSE) 逻辑类型 定义 提取 ●a<-c(1,2,5,3,6,-2,4) ●a3] ·a[c(l,3,5)] ●a[2:6]
• a <- c(1, 2, 5, 3, 6, -2, 4) • b <- c("one", "two", "three") • c <- c(TRUE, FALSE, TRUE, FALSE) • a <- c(1, 2, 5, 3, 6, -2, 4) • a[3] • a[c(1, 3, 5)] • a[2:6] ࣳහᔄ ࣳᒧᔄਁ ࣳ᭦ᬋᔄ ਧԎ ݐ R Data I 创建向量和访问向量
R Data I 向量生成:c()和: c可以将不同的向量合并成一个更长的向量 >yZZ [1]8.23.74.55.67.30.01.05.02.0 :可以生成步长为的等差数列(向量) >1:5 [1]12345 :运算优先于四侧运算 >5:1 [1]54321 >1.2:5 >1:9-1 [1]1.2 2.23.24.2 [1]012345678 >5.2:1 >1:(9-1) [1]5.24.23.22.21.2 [1]12345678
c()ݢզਖ਼ӧݶጱݻᰁݳଚ౮Ӟӻๅᳩጱݻᰁ ғݢզኞ౮ྍᳩԅ1ጱᒵ૧හڜҁݻᰁ҂ ᬩᓒڞࢥԭضᬩᓒս: R Data I 向量生成:c()和 :
R Data I 向量生成:seq()和rep() seqO函数用来生成等距间隔的数列。 基本形式是:seq(from=value I,to=value22,by=value3),表示从valuel开 始,到value2结束,中间间隔为value3; 另一个使用形式为:seq(length-=value2,from=valuel,,by=value3.)。 >seq(-2,2,0.5) [1]-2.0-1.5-1.0-0.50.00.51.01.52.0 seq(length=9,from=-2,by=0.5) [1]-2.0-1.5-1.0-0.50.00.51.01.52.0 rep0函数将一个向量重复若干次再 >rep(2,3) 放入新的变量。 [1]222 >X<-1:3 使用形式为:rep(x,times=-n),表示 rep(x,3) 将x重复n次后构成的向量 [1]123123123
• seq()ڍහአኞ౮ᒵ᪗ᳵᵍጱහڜ̶ • च୵ୗฎғseq(from=value1, to=value2,by=value3)҅ᤒᐏvalue1 ত҅کvalue2ᕮ҅Ӿᳵᳵᵍԅvalue3Ҕ • ݚӞӻֵአ୵ୗԅғseq(length=value2,from=value1,by=value3)̶ • rep()ڍහਖ਼Ӟӻݻᰁ᯿॔ᝑଗེٚ නفෛጱݒᰁ̶ • ֵአ୵ୗԅғrep(x,times=n)҅ᤒᐏ ਖ਼x᯿॔nེݸ౮ጱݻᰁ R Data I 向量生成:seq()和rep()