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

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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク