1
あなたがX
のrownamesがsrc
のrownamesとX
のCOLNAMESのサブセットであるsrc
のCOLNAMESのサブセットであることをマトリックス(X
)及びそのような第2の行列(src
)を有すると仮定する。 src
の行と列、データがX
、欠落したデータがデフォルト値(0またはNA
など)で埋められている行列を作成する最も良い方法は何ですか?その後、我々はこれを取得する必要 名前付きの行と列で行列を埋め込む方法は?
X <- matrix(1:6, nrow = 2, dimnames = list(letters[2 * 1:2], LETTERS[2 * 1:3]))
src <- matrix(0, nrow = 4, ncol = 6, dimnames = list(letters[1:4], LETTERS[1:6]))
を与え、以下
は私の試みですが、私は、例えば
# Assume row and columns are named
PadColumns <- function(x, src, fill = NA) {
# pad columns with default values
result <- matrix(fill, nrow = nrow(x), ncol = ncol(src))
colnames(result) <- colnames(src)
rownames(result) <- rownames(x)
result[,match(colnames(x), colnames(src))] <- x
result
}
PadRows <- function(x, src, fill = NA) {
# pad rows with default values
result <- matrix(fill, nrow = nrow(src), ncol = ncol(x))
colnames(result) <- colnames(x)
rownames(result) <- rownames(src)
result[match(rownames(x), rownames(src)),] <- x
result
}
PadRowsColumns <- function(x, src, fill = NA) {
PadColumns(PadRows(x, src, fill = fill), src, fill = fill)
}
R.でこれを行うための標準的な方法が存在しなければならないと感じ:
> X
B D F
b 1 3 5
d 2 4 6
> PadRowsColumns(X, src)
A B C D E F
a NA NA NA NA NA NA
b NA 1 NA 3 NA 5
c NA NA NA NA NA NA
d NA 2 NA 4 NA 6
@JasonAizkalns良い点。完了しました。 – banbh