You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何将logical矩阵转换为integer矩阵且保留原有矩阵结构

R中as.integer()默认会将输入对象强制转换为一维向量,因此直接对矩阵调用该方法会丢失原有矩阵结构,你可以通过以下方法实现保留结构的类型转换:

方法1:直接修改存储模式(效率最高,直接修改原对象)

通过修改矩阵的存储模式实现类型转换,不会改变矩阵的维度、行列名等所有原有属性:

storage.mode(k) <- "integer"

方法2:生成新的整数矩阵(不修改原逻辑矩阵)

如果你需要保留原逻辑矩阵,可以选择以下两种写法生成新的整数矩阵:

  • 写法1:手动指定原矩阵维度重建
z <- matrix(as.integer(k), nrow = nrow(k), ncol = ncol(k))
  • 写法2:通过子集赋值保留结构
# 先复制原矩阵的结构
z <- k
# 对所有元素赋值转换后的值,保留原有矩阵结构
z[] <- as.integer(z)

你可以通过class(z)和dim(z)验证转换结果,返回的类型为matrix,维度和原逻辑矩阵完全一致。


内容的提问来源于stack exchange,提问作者Shawn Brar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:00:06