数学建模社区-数学中国
标题:
R语言入门基础之数组和列表
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:04
标题:
R语言入门基础之数组和列表
数组(array)
一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.
@+ M. k3 s% |0 `6 G1 V- Q; z
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
' U4 W1 u3 s/ u6 D# X8 ]4 D
1、产生一个三维和四维数组。
# W7 y* N3 ~2 X
例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组
* [9 X7 B2 v% r% T& Q- a7 N8 t
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组
- E) H3 f/ P I. W% ?8 n0 t: r
, h7 Q$ q ^% o% o
2、dim()函数可将向量转化成数组或矩阵。
4 d3 |9 _1 _( ^: ]6 }
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
3 G l$ C( F$ m9 O9 j
例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)
/ V% U: g; a9 S
+ h6 ]# j) j1 E
列表(list)
7 O( H. ]4 q4 H" r* `+ h( ^
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。
! D; M0 E: w0 w
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。
# v9 ?2 J: M* j+ D( [
1、创建一个列表
! [* @2 _/ _, `- K
例1: xx <- rep(1:2, 3:4)
w a1 z2 L0 a' R- q8 g
yy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')
. O$ `' i- O( f* `$ z7 _* i
zz <- 'discussion group'
7 @+ d) N# C7 H) x/ l, |% ]& S
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
; n: i; w+ e* ~
name.list$n[name.list$g == 2]
! d" t& H0 Z, j& Q( J, T
length(name.list)
7 z( c2 r' |+ I6 Z7 ^
mode(name.list)
` U# t! C: G% e Y. D
names(name.list)
4 ` n% T6 \) E
; D; @4 @3 d* n+ w7 Q
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5