数学建模社区-数学中国

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

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

数组(array)

一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.7 @" J  z% Z1 J5 \8 e
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。% }. G. r9 ]: A% N. O- Z& M
1、产生一个三维和四维数组。
4 `9 @0 \* q, I例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组
; \: ^" Z  }; a+ V2 K% I2 ^例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组, ~/ l) B  w6 ?# f* V+ Y3 \

9 V0 x) t- R5 l2、dim()函数可将向量转化成数组或矩阵。1 p* S4 u; u$ f6 I; y( l# Y
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
; J$ ^+ Z2 {% Q# q  L* {1 R" V例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)
1 a( I1 k6 P6 b# @. V2 Y: y# f0 A! E% B+ h" i! y
列表(list)4 y' M' E" L+ ^: }  W2 O
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。9 D0 W+ s# W5 Y# \9 b3 T
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。" i$ i0 K- C: w* c
1、创建一个列表9 M. r7 ^7 p( n8 Q* S( x) k
例1: xx <- rep(1:2, 3:4)
+ Z- x& j3 l( Q$ p3 Gyy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')2 Y3 t( W, e: L% S. B1 u1 Q
zz <- 'discussion group'
) l! F  L5 ^" Y' G! @name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表- Q: D" [4 ?5 f" ~1 K3 T/ E0 Q" z
name.list$n[name.list$g == 2]. X+ x3 e! ~) `. `" E
length(name.list)
& Z( i$ k! @3 t* ~6 d! Cmode(name.list)' ^& C& o, a; Y- K) j
names(name.list)" ~, u' X5 u0 i" b( o/ h# ~
" [* t5 m, E. K8 j: _





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