間隔をもつデータを操作、プロットする「intervals」パッケージの紹介です。なお、本パッケージで使用されているIntervalsおよびIntervals_fullクラスはS4クラスで定義されいます。
S4クラスを簡単に紹介します。
S4クラスはS3クラスと異なり、slotとtypeで収録するデータが明確に示され「異なるtypeのデータ」を含まない便利な機能があります。参考までに、データを取り出すには”@”やslotコマンドを使用します。
パッケージのバージョンは0.15.2。R version 4.2.2でコマンドを確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("intervals")
実行コマンド
詳細はコマンド、パッケージヘルプを確認してください。
#パッケージの読み込み library("intervals") ###データ例の作成##### InterData <- matrix(1:10, ncol = 2) ######## #Intervalsクラスへの変換:Intervalsコマンド IVData <- Intervals(InterData, type = "R") #列名の付与 rownames(IVData) <- LETTERS[1:5] IVData Object of class Intervals 5 intervals over R: A [1, 6] B [2, 7] C [3, 8] D [4, 9] E [5, 10] #データをプロット plot(IVData) #Intervals_fullクラスへの変換:Intervals_fullコマンド #Intervals_fullクラスは開始点・終了点データの編集が可能です IVFullData <- Intervals_full(InterData) #列名の付与 rownames(IVFullData) <- letters[1:5] IVFullData Object of class Intervals_full 5 intervals over R: a [1, 6] b [2, 7] c [3, 8] d [4, 9] e [5, 10] ###以下Intervals_fullクラスへのコマンド適応例##### #開始点・終了点データの編集:closedコマンド closed(IVFullData)[2:3, 1] <- FALSE closed(IVFullData)[4,2] <- FALSE IVFullData Object of class Intervals_full 5 intervals over R: a [1, 6] b (2, 7] c (3, 8] d [4, 9) e [5, NA] #データをプロット #データが閉じられていない"("をは #シンボルが白抜きで表示されます plot(IVFullData) #開始点・終了点を表示:reduceコマンド reduce(IVFullData) Object of class Intervals_full 1 interval over R: [1, 10] #eの最大終了点をNAに置換,データセット内の最大終了点は9 IVFullData[5, 2] <- NA IVFullData Object of class Intervals_full 5 intervals over R: a [1, 6] b (2, 7] c (3, 8] d [4, 9) e [5, NA] #reduceコマンド #警告が出ますが9と表示されます reduce(IVFullData) Object of class Intervals_full 1 interval over R: [1, 9) #データをプロット plot(IVFullData) #開始点・終了点範囲の開始点を変更:interval_intersectionコマンド #変更内容を指定しなければreduceコマンドと同じ結果 interval_intersection(IVFullData) #開始点に値を追加 interval_intersection(IVFullData, IVFullData + 5) #データセット内から外れる値を追加するとエラーが出ます interval_intersection(IVFullData, IVFullData + 10)
出力例
・Intervalsコマンド
・開始点・終了点データの編集:closedコマンド
・最大値を変更後にプロット
少しでも、あなたの解析が楽になりますように!!