forループの出力ベクトルを行単位で埋めようとしている特定の数の列を持つ空行列があります。しかし、出力の中には行列の数と同じ長さではなく、単にそれらの空のスペースをNAsで埋める必要があります。例えば空の行列に行単位でデータを追加し、欠落したデータを処理する
:出力
x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4
[1,] 1 2 NA NA 4 2 1 5 1 NA NA NA
:私はこのようなマトリックスでそれを望む
x <- c(1,2)
y <- c(4,2,1,5)
z <- c(1)
:
matrix.names <- c("x1", "x2", "x3", "x4", "y1", "y2", "y3", "y4", "z1", "z2", "z3", "z4")
my.matrix <- matrix(ncol = length(matrix.names))
colnames(my.matrix) <- matrix.names
これは、一回の反復からの出力になります次の反復から、例えば:
x <- c(1,1,1,1)
y <- c(0,4)
z <- c(4,1,3)
行列に新しい行として追加:
x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4
[1,] 1 2 NA NA 4 2 1 5 1 NA NA NA
[2,] 1 1 1 1 0 4 NA NA 4 1 3 NA
をそれは私が0を持っている場合、データが存在しない場合には、それだけだ本当に心配ではありません。また、データは、そこにあるものが最初に行にリストされ、その後空のスロットにNAsが続くように保存されます。言い換えれば、NAが最初にポップアップするかどうかは心配していません。
また、このようなことは、マトリックスではなくデータフレームでよりうまく処理されますか?
が、私はそれが –
をありがとう値+1:4ですか? – akrun