数学建模社区-数学中国

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

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

数组(array)

一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.- k. A6 M) z) B) {$ V/ _/ c
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。2 t; }  b. g& d6 |; ?% H3 a+ ^0 [
1、产生一个三维和四维数组。
: S- G8 W% W3 T6 S1 ^& D; r例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组& c6 i* D( c! X6 P5 j! Q
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组: [  ]) M7 o$ L$ M- K( ~# b  H( k

1 A% t1 Q, {& R3 b2、dim()函数可将向量转化成数组或矩阵。
  p# e2 I8 v  f  o! p6 c2 b. v' t例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))6 B2 @9 U( n. H
例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5). P; T) ?1 _) f
& r& N) S1 d: t2 \6 D( [
列表(list)5 G+ A1 r/ S) G
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。4 b9 N  {5 m/ d1 {+ ^5 C  F
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。" s3 I( ]. ~# e9 l" T9 s
1、创建一个列表
9 d; ^0 K6 O4 s$ J# @# g+ ?例1: xx <- rep(1:2, 3:4)/ i8 W8 a+ r' n- z- Z9 I4 i0 W
yy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F'); f* d% V! ~4 n# V) c
zz <- 'discussion group'' e+ v! C& z8 r/ h9 U& Z
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表; h# x& n( [  I5 Y
name.list$n[name.list$g == 2]0 H  |8 G# [0 D) y
length(name.list)9 F( Z8 M& A7 C9 [+ B% [# m2 d
mode(name.list)
1 c2 o" y) E! l" K7 znames(name.list)
+ n, A; |0 i* V0 [: ^) K
1 G2 T7 R) F% r% p5 U/ i9 n




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