数学建模社区-数学中国
标题:
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! e
2、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. M
yy <- 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# C
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
& r6 |9 o# y" O2 X9 r1 J
name.list$n[name.list$g == 2]
# l; e! B( N- t7 c0 ^
length(name.list)
. O7 A& H5 X% ~( l9 m& r3 ]( L$ H
mode(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