で,
花序データファイルのほうだけど,
これはケガれ言語 Perl のチカラを借りずとも,
R だけでなんとかなる,
とわかった.
というのも,
架空単純化例で説明すると,
こういう NA
ばかりの x 列をもつ変な data.frame があったときに,
> x <- c(1, NA, NA, NA, 2, NA, 3, NA, 4, NA, NA)
> d <- data.frame(x = x, y = 1:length(x))
> d
x y
1 1 1
2 NA 2
3 NA 3
4 NA 4
5 2 5
6 NA 6
7 3 7
8 NA 8
9 4 9
10 NA 10
11 NA 11
こういう for()
な「ださい」関数を定義すると,
fill.na <- function(v)
{
for (i in 2:length(v)) if (is.na(v[i])) v[i] <- v[i - 1]
v
}
data.frame d
の列を変換できますよ,
というだけのハナシだったんで.
> d$x <- fill.na(d$x)
> d
x y
1 1 1
2 1 2
3 1 3
4 1 4
5 2 5
6 2 6
7 3 7
8 3 8
9 4 9
10 4 10
11 4 11