数学建模社区-数学中国

标题: R语言入门基础之数组和列表 [打印本页]

作者: 数模天下    时间: 2012-12-24 14:04
标题: R语言入门基础之数组和列表

数组(array)

一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.& i4 |- V% p3 u
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。# R1 E; `1 m* W& Z/ @7 }
1、产生一个三维和四维数组。
  S7 d9 ~9 P2 w- N1 e例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组# M4 r* G4 H2 Z0 O. A, k3 X7 `
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组
' M, t* P) ~6 [! L( t2 A
+ o/ i) B  l8 p+ K2 ]7 g8 f! e2、dim()函数可将向量转化成数组或矩阵。2 K4 C* L1 z  l2 c2 a. f* B
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2)); e0 D6 s' Z. f; T# S* K; u
例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)  u2 X: o8 Z9 e" s, S
0 _/ ?) F$ `) S$ {8 I; Y' d+ A
列表(list)5 @% {' p1 k; F* d) y
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。
8 Y1 I4 e+ d! p0 _4 p3 z8 T创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。! n# B" J& l: J+ f9 _& e6 q
1、创建一个列表# |5 z5 c' j3 Q; [
例1: xx <- rep(1:2, 3:4)
- J% q0 {' G5 n. Myy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')) {* W8 `# q* ~) D4 w; x- Q3 d
zz <- 'discussion group'
9 \7 d& N3 P! S; I# Cname.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
& r6 |9 o# y" O2 X9 r1 Jname.list$n[name.list$g == 2]# l; e! B( N- t7 c0 ^
length(name.list)
. O7 A& H5 X% ~( l9 m& r3 ]( L$ Hmode(name.list)9 r( k; n! Y0 E! Y* t: a
names(name.list). y1 J3 u( Z  o1 f/ V

9 [' A+ j' G( i1 r/ \! b9 A1 F  M




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5