本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

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

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

パッケージのバージョンは3.2。実行コマンドはwindows 11のR version 4.1.3で確認しています。

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

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

#パッケージのインストール
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コマンド
#upper_bound:下限値,upper_bound:上限値
na_random(TestData, lower_bound = 100, upper_bound = 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

少しでも、あなたの解析が楽になりますように!!

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.