2
dplyrとapprox()を使用してグループ内の値を直線補間しようとしています。残念ながら、グループの中には欠損値があります。それらのグループをスキップして残りの部分を処理してください。私は、最も近い近隣の観測データを外挿したり、使用したりしたくありません。dplyrで線形補間を行いますが、すべての欠損値を含むスキップグループ
ここにデータの例を示します。最初のグループ(IDによる)はすべて欠けており、もう1つは補間されるべきです。
data <- read.csv(text="
id,year,value
c1,1998,NA
c1,1999,NA
c1,2000,NA
c1,2001,NA
c2,1998,14
c2,1999,NA
c2,2000,NA
c2,2001,18")
dataIpol <- data %>%
group_by(id) %>%
arrange(id, year) %>%
mutate(valueIpol = approx(year, value, year,
method = "linear", rule = 1, f = 0, ties = mean)$y)
しかし、その後、私は私がすべての行方不明ているグループを取り除くが、それが不可能だ場合、私はこのエラーを取得しない
Error: need at least two non-NA values to interpolate
エラーが発生します。
ありがとう、ありがとう。これは非常にきれいで、パイプ(%>%)が優れている理由を示しています。 – Irix3537106