数学建模社区-数学中国

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

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

数组(array)

一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.
2 u) E# F. }1 `1 `2 b% ~6 M数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
- F) J6 K$ h: T( P* v1、产生一个三维和四维数组。
2 X+ d& @0 g; k. ?例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组; b0 I: `) {% N+ ~
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组
9 a& n1 f1 I: X% j2 [' |6 u' W* N3 H6 o4 l# s
2、dim()函数可将向量转化成数组或矩阵。& d  R* w" q( x4 _; o% N
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
+ D. R0 K" R2 n- h# X/ u2 X; }* |例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)" s/ Q' L4 b9 X2 z5 q
/ k1 k9 ]8 `& N9 s- p
列表(list)2 u' I8 F. N7 }
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。% ~4 d, m* g: O, t& h/ C4 x2 U$ ~! x
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。
8 J% A  S2 n  n. l+ i' T; }1、创建一个列表
& j( ]! M* Z; K例1: xx <- rep(1:2, 3:4)
! y: o2 c) E8 V. s' n( u9 n' Ayy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')
8 v- _' F' s( {! o; K8 E6 [% p' ?* wzz <- 'discussion group'
3 X2 t/ u' T: ]$ c/ ]. yname.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表! J! k! T% J% ]2 u! l9 n
name.list$n[name.list$g == 2]# h+ D) l+ @9 g5 {. H
length(name.list)% K; x' ~0 {% p! }* E7 o! ]
mode(name.list)
: e, J8 ]3 o  f( k2 {9 enames(name.list)
1 l, E3 S1 ?% w, E6 \; ^% K! ]" x0 e0 e2 W4 h; g; h





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