数学建模社区-数学中国
标题:
R语言入门基础之数组和列表
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:04
标题:
R语言入门基础之数组和列表
数组(array)
一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.
" c" g6 w: b. b) @, J3 o' Q: i
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
! a9 Y+ g; N0 m o* ]* F ]# e
1、产生一个三维和四维数组。
% S9 h5 M& b5 u# @% y
例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组
; y: ~' D6 n9 Y1 {4 r
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组
0 D8 d4 ^; a& P- k1 v
: {/ _5 m( |7 X1 I g9 y& @
2、dim()函数可将向量转化成数组或矩阵。
: x0 m# p" G- p! d% s
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
$ y: H5 b8 L/ S6 {
例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)
! N- I1 C$ @% B
3 _4 J5 C9 A: @
列表(list)
7 y }9 e% s4 o- g. M) E
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。
( j# e9 c8 H Q# f5 k8 T) D
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。
) u# R; d* i9 j5 R% G7 ?3 y
1、创建一个列表
- d) }! N% S' R, @9 }0 o
例1: xx <- rep(1:2, 3:4)
. J8 g# a% u6 |+ C- x& {, J
yy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')
3 U, y, y& _( I6 d5 f) n1 o8 e
zz <- 'discussion group'
$ d! n/ w8 p: ~6 K* R5 Z6 i2 j
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
2 r8 b! ]+ o8 t1 z/ a
name.list$n[name.list$g == 2]
- I" S: O3 s5 r# ?9 W
length(name.list)
6 N4 l; J- m+ s0 w! o( i! t7 ]
mode(name.list)
& B. H& u6 [+ F
names(name.list)
: m8 R+ v0 [& X8 k0 D; t
6 n4 W( S" N$ [ V V
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5