Data Analysis Tools and 2018.03.27 Practice(Using R) 课程复习 北大软件与微电荐院 Huiping Sun(孙惠平) School of Software and Microelectronics,Peking University sunhp@ss.pku.edu.cn
Huiping Sun(ਃణଘ) sunhp@ss.pku.edu.cn 课程复习 Data Analysis Tools and Practice(Using R) 2018.03.27
课堂测试时间
᧞झၥᦶᳵ
Course 课堂测试04 Wrap-up 30分钟 I、写一个函数,输入有三个参数x、y、z,该函数计算x、y与z的 和与乘,返回值是包括和与乘的一个向量。 ·2、写出完成如下功能的语句:从文件名为“testing0l.txt”的文件 读取一个数据框TTI(分隔符为*,包括header),然后将该TTI 以追加模式写到“testing02.csv'中。 ·3、分别用if-else、ifelse、switch写出完成如下功能的语句:x大于 0小于等于10时,y等于x的1/2;x大于I0小于等于20时,y等于x的 平方根;x大于20小于30时,y等于I到30的和;x等于30时,y等 于20到30的和减去10到20的和。 ● 4、分别用while、repeat、for写出完成如下功能的语句:随便赋 给一个正整数,如果是偶数,将除以2,并赋给,否则将3i+1 赋给,不断循环,直到i=1,停止
• 1̵ٟӞӻڍහ҅ᬌفํӣӻ݇හx̵y̵z҅ᧆڍහᦇᓒx̵yӨzጱ Өԙ҅ᬬࢧฎ۱ೡӨԙጱӞӻݻᰁ̶ • 2̵ڊٟਠ౮ইӥۑᚆጱݙғկݷԅ“testing01.txt”ጱկ ݐӞӻහഝTT1ҁړᵍᒧԅ*҅۱ೡheader҂҅ᆐݸਖ਼ᧆTT1 զ᭄ےཛྷୗکٟ”testing02.csv”Ӿ̶ • 3̵ڦړአif-else̵ifelse̵switchڊٟਠ౮ইӥۑᚆጱݙғxय़ԭ 0ੜԭᒵԭ10҅yᒵԭxጱ1/2Ҕxय़ԭ10ੜԭᒵԭ20҅yᒵԭxጱ ଘො໑Ҕxय़ԭ20ੜԭ30҅yᒵԭ1ک30ጱҔxᒵԭ30҅yᒵ ̶20ጱک10݄ٺ30ጱک20ԭ • 4̵ڦړአwhile̵repeat̵forڊٟਠ౮ইӥۑᚆጱݙғᵋᩙ ᕳiӞӻྋෆහ҅ইຎiฎ؍හ҅ਖ਼iᴻզ2҅ଚᩙᕳi҅ڞވਖ਼3i҄1 ᩙᕳi҅ӧෙሾ҅ፗکiҖ1҅؊ྊ̶ 课堂测试04 Course Wrap-up 30ړᰦ
Course 上次课程内容回顾 Wrap-up 流程控制:if-else;ifelse;, ● 循环控制:repeat;,for;while; 数据输入输出函数:read.table();write.table);read.csv);write.csvO, 函数:function(); apply族函数:lapply();sapply();vapply();tapply():
• ၞᑕഴګ :if-else; ifelse; • ሾഴګ :repeat; for; while; • හഝᬌفᬌڍڊහ: read.table(); write.table(); read.csv(); write.csv(); ;()හғfunctionڍ • • apply෧ڍහғlapply(); sapply(); vapply(); tapply(); 上次课程内容回顾 Course Wrap-up
课堂测试复习 安装Rmarkdown和Knitr
᧞झၥᦶ॔ԟ ਞᤰRmarkdownKnitr
Course 复习:课堂测试01 Wrap-up ·I、数据分析包括几个过程? 2、简单描述R语言优点。 。3、填写下表: 功能 函数 功能 函数 安装vcd包 使用maps包 显示当前工作目录 demo(image) 帮助 查看函数mean0的示例 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կڦړํ Ջԍ֢አҘ 复习:课堂测试01 Course Wrap-up
Course 复习:课堂测试02 Wrap-up ·、填写下表: 功能 函数 功能 函数 1:4-1 sep(1.3,5,1) rep(1:2,3) X3],order(z) y[2,c(4,5)] sort/sort.list()/order which.min()/which.max() 2、请列举R中常见的数据类型数据结构, 描述矩阵和数据框的区别? ·3、使用ep0函数构建一个向量x。向量是由5个1,3个2,4个3和2个4组成的。 ● 4、写出命令:I)创建一个矩阵mat,矩阵的值为1-20之间的整数,四行五列,按行排列 2)获取矩阵的第三行第四列的元素值3)获取矩阵第一行的所有值。 ● 5、写出命令:I)创建字符串向量names,元素值为"zhang san'”、"isi”、"wang wu'”,创建 数值型向量scores,,元素为70、80、90,创建字符串向量1 evels,元素值为"C"B"A”,2)将 levels转换成因子类型3)创建数据框exam,其列向量为names、scoes、levels;4)根据列 名称,提出第一列和第三列
• 1̵ऴٟӥᤒғ • 2̵᧗ڜԈRӾଉᥠጱහഝᔄࣳහഝᕮ҅ൈᬿᎥᴣහഝጱڦ܄Ҙ • 3̵ֵአrep()ڍහୌӞӻݻᰁx̶ݻᰁฎኧ5ӻ1҅3ӻ2҅4ӻ32ӻ4ᕟ౮ጱ̶ • 4̵ڊٟեғ1҂ڠୌӞӻᎥᴣmat,Ꭵᴣጱԅ1-20ԏᳵጱෆහ҅ࢥᤈԲڜೲ҅ᤈഭڜ 2҂឴ݐᎥᴣጱᒫӣᤈᒫڜࢥጱزᔰ 3҂឴ݐᎥᴣᒫӞᤈጱಅํ̶ • 5̵ ڊٟեғ1҂ڠୌਁᒧԀݻᰁnames,زᔰԅ”zhang san”̵”li si”̵”wang wu”,ڠୌ හݻࣳᰁscores,زᔰԅ70̵80̵90҅ڠୌਁᒧԀݻᰁlevels,زᔰԅ”C””B””A”; 2)ਖ਼ levelsഘ౮ࢩৼᔄࣳ 3҂ڠୌහഝexam,ٌݻڜᰁԅnames̵scoes̵levels; 4҂໑ഝڜ ̶ڜᒫӣڜᒫӞڊ҅ᑍݷ 复习:课堂测试02 Course Wrap-up
Course 复习:课堂测试03 Wrap-up ·1、按照要求写出相应的命令:(I)创建向量x,其元素为、2、3,创建向量y其元素 为”ab”c”,定义一个由x,y组成的数据框df,(2).将数据框df与一个有且仅有一个数值 列z,数值列元素为3、2、I的数据框进行列连接;(3).按如下方式:data..frame(x=I0, y=“d”,c=IO)定义一个数据框df2,然后将其与df进行连接。 ·2、按照题目要求写出命令:(I).创建矩阵amat,矩阵元素为1到I2之间的整数,创建矩 阵bmat,矩阵元素为1到25之间的间隔为2的整数;(2).计算amat和bmat的内积和外 积;(3).计算amat的转置、逆矩阵和特征值、特征向量。 ·3、按要求写出命令:(I).创建字符串str,其值为'm Shouting,将str所有的字母大写;(2) 截取str的第3个到最后一个字符;(3).以空格为分割符,分割str为字符串向量strs4、 使用pastel函数将strs与向量c(I,2)连接,指定参数分割符为””。 ,4、求出当前的日期与1970-1-1之间相差的秒数、分钟数、小时数、天数和周数。 ·5、写出产生50个学号(DA-2017-01到DA-20I7-50)的语句。 6、test<-c(20,9,6,NA,99,88,NA,46),写出完成如下功能的语句,将test按照行优 先行程一个4列的矩阵Mt,检查哪些位置是NA,求每一列和每一行的总和,并将行 列的总和增加到Mt中
• 1̵ೲᆙᥝڊٟፘଫጱեғ(1). ڠୌݻᰁxٌ҅زᔰԅ1̵2̵3҅ڠୌݻᰁy,ٌزᔰ ԅ”a””b”c”, ਧԎӞӻኧx҅yᕟ౮ጱහഝdf; (2). ਖ਼හഝdfӨӞӻํӬՐํӞӻහ ڜz҅හزڜᔰԅ3̵2̵1ጱහഝᬰᤈڜᬳള; (3). ೲইӥොୗғdata.frame(x = 10, y = “d”,c=10))ਧԎӞӻහഝdf2,ᆐݸਖ਼ٌӨdfᬰᤈᬳള̶ • 2̵ೲᆙ᷌ፓᥝڊٟե: (1). ڠୌᎥᴣa_mat,Ꭵᴣزᔰԅ1ک12ԏᳵጱෆහ҅ڠୌᎥ ᴣb_mat,Ꭵᴣزᔰԅ1ک25ԏᳵጱᳵᵍԅ2ጱෆහ; (2).ᦇᓒa_matb_matጱٖᑌक़ ᑌ; (3).ᦇᓒa_matጱᗝ̵ᭋᎥᴣᇙ̵ᇙݻᰁ̶ • 3̵ೲᥝڊٟե: (1). ڠୌਁᒧԀstr,ٌԅI’m Shouting҅ਖ਼strಅํጱਁྮय़ٟ) ;2). ౼ݐstrጱᒫ3ӻک๋ݸӞӻਁᒧ; (3). զᑮ໒ԅۆړᒧ҅ۆړstrԅਁᒧԀݻᰁstrs 4̵ ֵአpasteڍහਖ਼strsӨݻᰁc(1,2)ᬳള҅ਧ݇හۆړᒧԅ”-” ̶ • 4̵ڊ୮ڹጱ෭๗Ө1970-1-1ԏᳵፘ૧ጱᑁහ̵ړᰦහ̵ੜහ̵ॠහޮහ̶ • 5̵ڊٟԾኞ50ӻݩҁDA-2017-01کDA-2017-50҂ጱݙ̶ • 6̵test <- c(20, 9, 6, NA, 99, 88, NA, 46)҅ڊٟਠ౮ইӥۑᚆጱݙ҅ਖ਼testೲᆙᤈս ضᤈᑕӞӻ4ڜጱᎥᴣMt҅༄ັߺԶ֖ᗝฎNA҅ྯӞڜྯӞᤈጱ҅ଚਖ਼ᤈ ̶MtӾکےीጱڜ 复习:课堂测试03 Course Wrap-up
课堂练习复习
᧞झᕞԟ॔ԟ
Course 练习-0001 Wrap-up ·安装R ●安装RStudio 熟悉R和RStudio的界面和菜单功能 安装swirl,完成三个课堂练习(估计30-60分钟) install_course_github("pkussdatanalysis","C1_R_Basis")
• ਞᤰR • ਞᤰRStudio • ᆧఀRRStudioጱኴᶎោۑܔᚆ • ਞᤰswirl҅ਠ౮ӣӻ᧞झᕞԟҁᦇ30-60ړᰦ҂ 练习-0001 install_course_github("pkussdatanalysis","C1_R_Basis") Course Wrap-up