gpt4 book ai didi

r - 添加两个不同大小和子集的数据框

转载 作者:行者123 更新时间:2023-12-05 01:17:05 24 4
gpt4 key购买 nike

我有一堆看起来像这样的转换矩阵。

> temp
31-60 5-30 61-90 Current PaidOff
5-30 283 317 9 500 9
Current 0 2935 0 179989 1689
PaidOff 0 0 0 0 0

我想标准化大小,所以我制作了一个具有正确行名和列名的 0 矩阵:

> blankMatrix
Current 5-30 31-60 61-90 91-120 ChargeOff_Default PaidOff
Current 0 0 0 0 0 0 0
5-30 0 0 0 0 0 0 0
31-60 0 0 0 0 0 0 0
61-90 0 0 0 0 0 0 0
91-120 0 0 0 0 0 0 0
ChargeOff_Default 0 0 0 0 0 0 0
PaidOff 0 0 0 0 0 0 0

有没有办法轻松地将第一个矩阵添加到第二个矩阵。因此,例如数字 283 将自动进入位置 (2,3)。我希望避免冗长而困惑的 for 循环,在该循环中我不断迭代并检查行名和列名是否匹配。

谢谢!

最佳答案

您可以使用 expand.grid 然后使用 blankMatrix[matrix index]< 根据 temp 的行和列名称创建行和列索引矩阵 将从矩阵索引中的索引对中选择值;要更改相应索引处的值,只需为其分配值即可;

temp <- as.matrix(temp)
blankMatrix <- as.matrix(blankMatrix)

matIndex <- as.matrix(expand.grid(rownames(temp), colnames(temp)))
blankMatrix[matIndex] <- temp
blankMatrix
# Current X5.30 X31.60 X61.90 X91.120 ChargeOff_Default PaidOff
#Current 179989 2935 0 0 0 0 1689
#5-30 500 317 283 9 0 0 9
#31-60 0 0 0 0 0 0 0
#61-90 0 0 0 0 0 0 0
#91-120 0 0 0 0 0 0 0
#ChargeOff_Default 0 0 0 0 0 0 0
#PaidOff 0 0 0 0 0 0 0

关于r - 添加两个不同大小和子集的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45928895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com