「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]] Lst[1] > “Fred” >$name “Fred” [[…]]では成分の値のみが表示される […] では成分の値とその名前が表示される リストの成分(名前の付与) リストの成分には名前を与えることが出来、その名前を 用いて成分の値を得ることが出来る Ex:Lst$name <“Fred” Lst[[1]] Lst$wife <“Mary” Lst[[2]] Lst$child.ages[1] <4 Lst[[4]][1] リスト成分の名前を二重鈎括弧の中に使うことも可能 Lst$name Ex:Lst[[“name”]] <“Fred” Lst[[1]] 成分の名前は、特定できる最小の値に省略可能 Ex:Lst$coefficients Lst$coe Lst$covariance Lst$cov 名前のベクトル 実際には他と同様単にリストの属性 6.2 リストを作る、変える list() ・すでに存在するオブジェクトから新しいリスト生成可能 Ex:Lst<-list(name_1=object_1,…name_m=object_m) ・リストを形成する成分は新しいリストを作る際に「コピー」さ れ、オリジナルは変化しない リストの追加 他の添字を持つオブジェクト同様、追加の成分を指定して 拡張可能 Ex : Lst[5]<-list(pet=“cat”) ・しかしこの形式では“cat”は追加されるが名前(pet)は追 加されない。名前の追加にはnames関数を使う Ex: names(Lst)[[5]]<-c(“pet”) < $pet cat 6.2.1 リストの結合 リスト結合 連結関数c()がリストの引数を与えられると、結果はリスト モードのオブジェクトになり、成分は引数リストが順につ なげられたものになる Ex:listA<-list(2,3,4) listABC<-c(listA,listB,listC) listB<-list(5,5) < 2,3,4,5,5,7,8,9,0 listC<-list(7,8,9,0) *ベクトルオブジェクトを引数にとった場合、他の全ての属性 は捨てられる 課題 自分の家族構成のリストを作成 Ex: Lstfujii<-list(name=“takeaki”,titi=“kazuo”,haha=“reiko”, ane=“mai”,sobo=“hiroe”) そのリストに今まで飼ったペットの名前を追加。なかっ たらNULLを追加(名前ベクトルも追加する) Ex:Lst[6]<-list(pet=“cat”) 研究室のメンバーの表示されたリストを作り、家族構成 のリストと結合
© Copyright 2024 ExpyDoc