r - 如何处理 R 中矩阵中的无限值?
问题描述
我有一个我怀疑有一些无限元素的矩阵。
我有两个问题:
- 是否有类似 sum(is.na) 的等效计数函数,它为我提供矩阵中的无穷数?
- 我想用另一个向量计算矩阵每一行的点积。如何忽略无限值?sum 函数中的 na.rm = T 函数。
谢谢
解决方案
试试这个,但要确保你的输入数据是类矩阵:
set.seed(1)
# make data
n <- 20
m <- 10
M <- matrix(rnorm(n*m), n, m)
# add Infs
M[sample(x = length(M), size = length(M)*0.1)] <- Inf
image(seq(n), seq(m), M, xlab = "rows", ylab = "columns")
# here is the vector that you want to multiply each row with
multVec <- seq(m)
# apply with removal of non-finite values
res <- apply(M, 1, function(x){
tmp <- x * multVec
sum(tmp[is.finite(tmp)])
})
推荐阅读
- python - 限制外键数量,每个外键指的是一周中的一天
- python - 为所有操作模拟类实例的一个属性
- python - 在没有安装 Python 的办公室计算机上运行脚本
- scrapy - 选择哪些正确的标签和属性?
- snort - Barnyard2 syslog 输出缺少程序名称
- python - 如何在 Kivy 或 Python 中设置自定义光标?
- mysql - MySQL - 表的填充问题
- c# - 在 WPF 中获取 Windows.Forms.KeyEventArgs Key Enum int 值
- angular - 使用 patchValue 将 Object 设置为控制值
- c# - 如何取消身份验证登录弹出窗口