我使用 r 矩阵(例如 [[0,0,0,1],[0,1,0,1],[1,0,0,0],[0,0 ,1,1]]
) 代表
光栅。我想用它的行索引值替换除 0 之外的每个值。有没有类似的东西
matrix[matrix==1] <- row_index
所以我的结果看起来像 [[0,0,0,1],[0,2,0,2],[3,0,0,0],[0,0,4 ,4]]
?
我在 Mac (10.7.5) 上使用 R 2.15.1 和 RPY2 2.2.6 来启动 R-Methods。
或者是否有任何其他方法可以为 histogram
、chi_square
等统计函数获得合理的结果?
最佳答案
对于一个简洁、富有表现力的解决方案,我可能会使用这个:
m <- matrix(c(0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1),
nrow = 4, byrow = TRUE)
m[m!=0] <- row(m)[m!=0]
m
# [,1] [,2] [,3] [,4]
# [1,] 0 0 0 1
# [2,] 0 2 0 2
# [3,] 3 0 0 0
# [4,] 0 0 4 4
关于用行索引替换矩阵中的行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206912/