Data Analysis Tools and 2018.03.13 Practice(Using R) R数据对象II 北大软件与微电荐院 Huiping Sun(孙惠平) School of Software and Microelectronics,Peking University sunhp@ss.pku.edu.cn
Huiping Sun(ਃణଘ) sunhp@ss.pku.edu.cn R数据对象II Data Analysis Tools and Practice(Using R) 2018.03.13
课堂测试时间
᧞झၥᦶᳵ
R Data Il 课堂测试02 。I、填写下表: 功能 函数 功能 函数 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҂໑ഝڜ ̶ڜᒫӣڜᒫӞڊ҅ᑍݷ R Data II 课堂测试02
R Data Il 上次课程内容回顾 数据结构定义:cO;matrix(0;aray);data.frame();factor(0;list0, 数据结构访问:下标;下标向量,逻辑向量;负下标 ·向量:;seq0;rep0 算术运算符:+*;6*,:%%%1% 】 逻辑运算:>;=;<=;=三;l=三;b&;isTRUE);identical0(;any0;alO, 属性函数:length();.dimO;class0();names(0;head0;tail(); ●排序函数:order();.sort0;sortlist0(;which(0;which.max;which.minO, 运算函数:max0;min0;range(0;sum)5prod0;sqrt0;abs0; ● 类型函数:is.numeric0(;is.integer();is.ogical0(;is.character0(;as.xxxx0; 其余函数:attach();detach(0;with0);s,t0;diag)sowe(0);eigen(;
• හഝᕮਧԎ: c(); matrix(); array(); data.frame(); factor(); list(); • හഝᕮᦢᳯ: ӥຽ; ӥຽݻᰁ; ᭦ᬋݻᰁ; ᨮӥຽ; • ݻᰁ: :; seq(); rep(); • ᓒᬩᓒᒧ: +; -; *; /; **; ^; %%; %/%; • ᭦ᬋᬩᓒ: >; =; <=; ==; !==; !; |; &; isTRUE(); identical(); any(); all(); • ંڍහ: length(); dim(); class(); names(); head(); tail(); • ഭଧڍහ: order(); sort(); sort.list(); which(); which.max(); which.min(); • ᬩᓒڍහ: max(); min(); range(); sum(); prod(); sqrt(); abs(); • ᔄڍࣳහ: is.numeric(); is.integer(); is.logical(); is.character(); as.xxxx(); • ٌ֟ڍහ: attach(); detach(); with(); $; t(); diag(); solve(); eigen(); R Data II 上次课程内容回顾
R Data Il 本次课程内容 ·矩阵运算 ·缺失值处理 类型转换 ·数据集合并 ·字符处理 。日期和时间 ·apply函数 ·统计函数
• Ꭵᴣᬩᓒ • ᗌ०॒ቘ • ᔄࣳഘ • හഝᵞݳଚ • ਁᒧ॒ቘ ᳵ๗• ෭ • applyڍහ • ᕹᦇڍහ R Data II 本次课程内容
R Data II 矩阵运算 10 矩阵转置 det() 求方阵行列式的值 crossprod(x,y) x和y的内积(%*%) tcrossprod(x,y) x和y的外积(%o%),outer() diag() 生成对角阵和矩阵取对角运算 solve() 解线性方程组,求矩阵的逆 eigen() 求矩阵的特征值和特征向量
t() Ꭵᴣᗝ det() ොᴣᤈڜୗጱ crossprod(x,y) xyጱٖᑌ(%*%) tcrossprod(x,y) xyጱक़ᑌ(%o%), outer() diag() ኞ౮ᴣᎥᴣݐᬩᓒ solve() ᥴᕚොᑕᕟ҅Ꭵᴣጱᭋ eigen() Ꭵᴣጱᇙᇙݻᰁ R Data II 矩阵运算
R Data II 矩阵运算例子 A X%0%y >A [,1] [,2] [,3] [,4][,5] [,1] [,2] [,3] [1,] 2 4 6 8 10 [2,] 4 8 12 16 20 [1,] 1 3 5 >Xt(A) >yX%*%y > crossprod(x,y) [1,] 1 2 [,1] [,1] [,2] C,3] [,4] [,5 [2,] 4 4 [1] 24 6 8 3 10 [1,] 110 [2,] 8 12 16 20 [3,] 5 6 > crossprod(x,y) [3,1 6 12 18 [,1] 4,1 8 16 24 4 [5,] 10 20 30 40 50 [1,] 110 outer(x,y,FUN ="*" [,1[,][,3][,4][,5] [1,] 4 6 10 2,] 4 8 12 16 20 det(matrix(1:4,ncol 2)) [3,1 6 12 18 24 30 [1]-2 [4 8 6 32 40 5,3 10 2 30 40 50
R Data II 矩阵运算例子
R Data Il 矩阵运算例子 A AbCC >X [,1][,2][,3] [1]-1.000000e+00 1.000000e+003.330669e-16 [1,] 1 16 49 [2,] 4 25 64 B B [,1] [,2][,3] D A [2,] 36 81126 > Sm M [1]303.19533618 0.76590739 0.03875643 [,1][,2][,3] [1,] 1 4 7 Svectors [2,] 2 5 8 [,1 [,2] [,3] [3,] 3 6 9 [1,]-0.4646675 0.833286355 0.2995295 diag(M) [2,]-0.5537546-0.009499485-0.8326258 [1]159 [3,]-0.6909703-0.5527599940.4658502
R Data II 矩阵运算例子
R Data Il 缺失值的处理 表4-1领导行为的性别差异 经理人 日期 国籍 性别 年龄 q1 q2 q3 q4 q5 1 10/24/08 US M 32 5 4 5 5 5 2 10/28/08 US F 45 3 5 2 5 5 3 10/01/08 UK F 25 3 5 5 5 2 4 10/12/08 UK M 39 3 3 5 05/01/09 UK F 99 2 2 1 2 ● 例子见教材74页 >y sum(1:5,NA) [1]NA ●na.omit0 sum(1:5,NA,na.rm TRUE) [1]15 看:例子4-3和4-4
R Data II 缺失值的处理 • ֺৼᥠර74ᶭ • NA • is.na() • na.rm = TRUE • na.omit() ፡ғֺৼ4-34-4
R Data Il 类型转换函数 表4-5类型转换函数 判断 转换 is.numeric() as.numeric()】 is.character() as.character() is.vector() as.vector() is.matrix() as.matrix() is.data.frame() as.data.frame() is.factor() as.factor() is.logical() as.logical() ·见教材78页 看:例子4-5
R Data II 类型转换函数 • ᥠර78ᶭ ፡ғֺৼ4-5