70 likes | 206 Views
「R入門」. 第 6 章:リストとデータフレーム 10 月 23 日発表 藤井 丈明. 6.1リスト. リスト( list ) ・オブジェクトの順序付けられた集まりからなるオブジェクト ・成分( component ):個々の成分オブジェクト ・成分は同じモード、型である必要はない ・成分は常に「順番が付けられ」、常にそれで参照できる. Ex:Lst<-list(name= “ Fred ” , wife= “ Mary ” , no.children=3, child.ages=c(4,7,9)). 成分. Ex:Lst[[1]] < “ Fred ”.
E N D
「R入門」 第6章:リストとデータフレーム 10月23日発表 藤井 丈明
6.1リスト • リスト(list) ・オブジェクトの順序付けられた集まりからなるオブジェクト ・成分(component):個々の成分オブジェクト ・成分は同じモード、型である必要はない ・成分は常に「順番が付けられ」、常にそれで参照できる Ex:Lst<-list(name=“Fred”, wife=“Mary”, no.children=3, child.ages=c(4,7,9)) 成分 Ex:Lst[[1]] <“Fred” ・length(Lst)はLstが含む成分(トップレベル)の個数を与える
リストの成分(鈎括弧と二重鈎括弧) • Lst[[…]]とLst[…]の区別は非常に重要 [[…]] :1つの要素を抜き出す演算子 […] :一般的な添字指定演算子 [[…]]では成分の値のみが表示される […] では成分の値とその名前が表示される Ex :Lst[[1]] > “Fred” Lst[1] >$name “Fred”
リストの成分(名前の付与) • リストの成分には名前を与えることが出来、その名前を用いて成分の値を得ることが出来る • リスト成分の名前を二重鈎括弧の中に使うことも可能 • 成分の名前は、特定できる最小の値に省略可能 • 名前のベクトル 実際には他と同様単にリストの属性 Ex:Lst$name <“Fred” Lst$wife <“Mary” Lst$child.ages[1] <4 Lst[[1]] Lst[[2]] Lst[[4]][1] Lst$name Lst[[1]] Ex:Lst[[“name”]] <“Fred” Ex:Lst$coefficients Lst$coe Lst$covariance Lst$cov
6.2 リストを作る、変える • list() ・すでに存在するオブジェクトから新しいリスト生成可能 ・リストを形成する成分は新しいリストを作る際に「コピー」され、オリジナルは変化しない • リストの追加 他の添字を持つオブジェクト同様、追加の成分を指定して拡張可能 ・しかしこの形式では“cat”は追加されるが名前(pet)は追加されない。名前の追加にはnames関数を使う Ex:Lst<-list(name_1=object_1,…name_m=object_m) Ex : Lst[5]<-list(pet=“cat”) Ex: names(Lst)[[5]]<-c(“pet”) < $pet cat
6.2.1 リストの結合 • リスト結合 連結関数c()がリストの引数を与えられると、結果はリストモードのオブジェクトになり、成分は引数リストが順につなげられたものになる Ex:listA<-list(2,3,4) listB<-list(5,5) listC<-list(7,8,9,0) listABC<-c(listA,listB,listC) < 2,3,4,5,5,7,8,9,0 *ベクトルオブジェクトを引数にとった場合、他の全ての属性は捨てられる
課題 • 自分の家族構成のリストを作成 • そのリストに今まで飼ったペットの名前を追加。なかったらNULLを追加(名前ベクトルも追加する) • 研究室のメンバーの表示されたリストを作り、家族構成のリストと結合 Ex: Lstfujii<-list(name=“takeaki”,titi=“kazuo”,haha=“reiko”, ane=“mai”,sobo=“hiroe”) Ex:Lst[6]<-list(pet=“cat”)