Rで解析:時系列の欠損値補間だけじゃないかも?「imputeTS」パッケージの紹介


時系列の欠損値を補間する「imputeTS」パッケージです。工夫次第では時系列以外にも活用できそうなので紹介します。Rのコマンドで欠損値を操作する方が楽ですが、まずは本パッケージを試してみるのも手かもしれません。

パッケージのバージョンは0.1。R version 3.2.1でコマンドを確認しています。


パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("imputeTS")

実行コマンドの紹介

詳細はコメント、パッケージヘルプを確認してください。

#ライブラリの読み込み
library("imputeTS")

#テストデータ
#tsコマンドで時系列データに変換しています
TestData <- ts(c(2,3,4,5,6,NA,7,8)) TestData Time Series: Start = 1 End = 8 Frequency = 1 [1] 2 3 4 5 6 NA 7 8 #linearもしくはsplineで欠損値を補間:na.interpolationコマンド #オプションで指定 na.interpolation(TestData, option = "linear") Time Series: Start = 1 End = 8 Frequency = 1 [1] 2.0 3.0 4.0 5.0 6.0 6.5 7.0 8.0 #欠損値の前または後の値で欠損値を補間:na.locfコマンド #locf:前の値で補間,nocb:後ろの値で補間 na.locf(TestData, option = "locf") Time Series: Start = 1 End = 8 Frequency = 1 [1] 2 3 4 5 6 6 7 8 #平均,中央値,最頻値で欠損値を補間:na.meanコマンド #mean:平均,median:中央値,最頻値:median na.mean(TestData, option = "mean") Time Series: Start = 1 End = 8 Frequency = 1 [1] 2 3 4 5 6 5 7 8 #ランダムに欠損値を補間:na.randomコマンド #lowerBound:下限値,upperBound:上限値 na.random(TestData, lowerBound = 100, upperBound = 1000) Time Series: Start = 1 End = 8 Frequency = 1 [1] 2.0000 3.0000 4.0000 5.0000 6.0000 911.4419 7.0000 8.0000 #欠損値の除去:na.removeコマンド na.remove(TestData) Time Series: Start = 1 End = 7 Frequency = 1 [1] 2 3 4 5 6 7 8 #欠損値への代入:na.replaceコマンド na.replace(TestData, fill = 99999) Time Series: Start = 1 End = 8 Frequency = 1 [1] 2 3 4 5 6 99999 7 8 [/code]


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク