-1

我有一个数据框,其中包含一些数据(声明)和两个附加列,其中包含行和列信息,例如:

Claim row Column

5000 2 10

等等

我有一个包含一些数据和 NA 的矩阵。我想使用行/列信息将 NA 替换为数据框中的数据。因此 5000 将替换当前位于第 2 行第 10 列的矩阵中的 NA。

有没有一种简单的方法可以用 R 实现这一点?

4

2 回答 2

2
# If you have for example a matrix like this
m <- matrix(c(1:9), ncol=3, nrow=3)

# and information column such as:
info <- rbind(c(5000,2,2), c(8000,1,3))

# you can do like this:
m[info[,c(2:3)]] <- info[,1]
于 2013-09-13T10:30:21.323 回答
-1

我想我已经找到了一种(不好的)方法:遍历矩阵中的所有行,选择矩阵中的所有 NA 元素,并将行列匹配的数据帧的子集分配给结果向量循环中的当前行,即这样的:

# Fill triangle
new_data <- data.frame(Claim = pred_claims, Column = cols, row = ro) # data frame 
full_triangle <- auto_incr # matrix to be filled

for (i in 2:10) {
  full_triangle[i,is.na(full_triangle[i,])] <- subset(new_data, row==i)$Claim
}
于 2013-09-13T09:38:38.453 回答