用 0 替换矩阵 <0.1 中的所有值 [英] Replace all values in a matrix &lt;0.1 with 0

查看:35
本文介绍了用 0 替换矩阵 <0.1 中的所有值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个来自空气质量模型的颗粒物浓度估计矩阵(2601 x 58).由于现实生活中的空气质量监测器无法测量低于 0.1 ug/L,因此我需要将矩阵中 <0.1 的所有值替换为零/NA/空值.

I have a matrix (2601 by 58) of particulate matter concentration estimates from an air quality model. Because real-life air quality monitors cannot measure below 0.1 ug/L, I need to replace all values in my matrix that are <0.1 with a zero/NA/null value.

有人用逻辑语句建议了 ifelse(test, true, false),但是当我尝试这样做时,它会删除所有内容.

Someone suggested ifelse(test, true, false) with a logical statement, but when I try this it deletes everything.

推荐答案

ifelse 应该可以:

mat <- matrix(runif(100),ncol=5)
mat <- ifelse(mat<0.1,NA,mat)

但我会选择哈伦的答案而不是我的.

But I would choose Harlan's answer over mine.

mat[mat < 0.1] <- NA

这篇关于用 0 替换矩阵 <0.1 中的所有值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆