从R中的矩阵中删除对角线元素

2024-02-22

如何使用 R 从矩阵 L 中删除对角元素 (diagL)?我尝试使用以下内容:

subset(L, select=-diag(L)) or
subset(L, select=-c(diag(L)))

但我得到了 0 个号码...


R 编程语言?我更喜欢C,它更容易拼写。

一种方法是按照我喜欢的方式创建一个包含数字的矩阵:

a<-t(matrix(1:16,nrow=4,ncol=4))

看起来像:

     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12
[4,]   13   14   15   16

删除对角线上的值:

diag(a)=NA

结果是:

     [,1] [,2] [,3] [,4]
[1,]   NA    2    3    4
[2,]    5   NA    7    8
[3,]    9   10   NA   12
[4,]   13   14   15   NA

要真正删除这些值,而不是仅仅让它们消失,我们需要重新转换:

a<-t(matrix(t(a)[which(!is.na(a))],nrow=3,ncol=4))

结果是:

     [,1] [,2] [,3]
[1,]    2    3    4
[2,]    5    7    8
[3,]    9   10   12
[4,]   13   14   15

这与我们在上面的 C 中得到的结果是一样的。

这有点迂回,但它产生了我认为正确的答案。我有兴趣看到比我更了解 R 的人提供的改进解决方案。

对作业的一些解释:

a<-t(matrix(t(a)[which(!is.na(a))],nrow=3,ncol=4))
  1. The !is.na(a)给我们一个 TRUE、FALSE 值的列表,其中元素被清空。
  2. The which(!is.na(a))为我们提供了每个真实元素的下标列表。
  3. The t(a)转置矩阵,因为我们需要根据 #2 中的下标进行拉取。
  4. t(a)[which(!is.na(a))]给我们一个缺少对角线 NA 值的数字列表。
  5. matrix(t(a)[which(!is.na(a))],nrow=3,ncol=4)将#4 中的列表转换为矩阵,这是我们想要的转置。
  6. a<-t(matrix(1:16,nrow=4,ncol=4))(整个事情)将 #5 转置为我们想要的形式并将其分配给a多变的。

这适用于以下情况a<-t(matrix(11:26,nrow=4,ncol=4)).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从R中的矩阵中删除对角线元素 的相关文章

  • R - 正则表达式错误(PCRE 版本)

    我正在尝试使用koRpus在 R 中在运行 RHEL6 的 Linux 服务器上进行词形还原 上周 当我安装了 MRO Microsoft R Open 3 2 3 时 下面的代码效果很好 library koRpus lw c danci
  • 可以明确声明包依赖项的版本吗?

    我倾向于对我编写的代码进行明确而不是隐含的描述 因此 在成功创建自己的包之后 我立即想到的下一件事是如何最好地确保代码的健壮性和可靠性 其中一部分与我的包所依赖的包有关 实际问题 在这方面 是否可以明确声明需要 期望哪个版本的包依赖项 我正
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc
  • 使用底格里斯河从纬度/经度获取人口普查区

    我有相对较多的坐标 我想获取其人口普查区 除了 FIPS 代码 我知道我可以使用以下命令查找各个纬度 经度对call geolocator latlon 已完成here https stackoverflow com questions 5
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • 如何获得属于五分位数的x?

    我正在大学学习使用 R 进行计量经济学项目 所以请原谅我的笨拙 基本上 使用并给出 一个矩阵 股票价格 行 天 列 公司股票价格 另一个矩阵 市值 行 天 列 公司市值 我必须收集第三个矩阵每天观察的属于市值分布第一五分位数的股票价格 然后
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • 从 R 环境中删除对象

    我正在阅读 Hadley 的 Advanced R 在第 8 章中 他说我们可以使用以下方法从环境中删除对象 rm 但是 移除该物体后我仍然可以看到该物体 这是我的代码 e lt new env e a lt 1 e b lt 2 e a
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 使用predictNLS围绕R中的拟合值创建置信区间?

    我想使用 R 中 propogate 包中的 PredictNLS 围绕一大组拟合值构建置信区间 作为示例 我将使用它们在函数描述中引用的数据集 https rdrr io github anspiess propagate man pre
  • 具有 dplyr、tidyverse 和 broom 的相关矩阵 - P 值矩阵

    全部 我想使用以下方法从相关矩阵中获取 p 值dplyr 和 或扫帚包 并同时测试多个变量 我知道其他方法 但 dplyr 对我来说似乎更简单 更直观 此外 dplyr 需要关联每个变量以获得特定的 p 值 这使得该过程更容易 更快 我检查
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr

随机推荐

  • 在 python 多处理工作池中使用初始化

    我正在研究工作人员的 multiprocessing Pool 试图用某种状态初始化工作人员 该池可以接受可调用的初始化 但不会传递对已初始化工作线程的引用 我见过的几个例子利用它调用全局变量 这看起来真的很讨厌 有没有什么好方法使用 mu
  • elisp 中的复数/虚数?

    elisp 支持虚数吗 我正在尝试通过运行 lisp 交互模式缓冲区来学习在线数学课程 Emacs elisp 有 高等数学 模块 库吗 Emacs 包括calc 一个支持复数的综合计算器 The manual is here C hig
  • C 或 C++ 中的日历日期算术(给给定日期添加 N 天)

    我已经得到了一个日期 我将其作为输入 例如 日 月 年 12 03 87 现在我需要找出之后的日期n days 我已经为此编写了代码 但效率不高 您能告诉我任何运行速度更快且复杂性更小的好的逻辑吗 include
  • Typescript:为什么 Visual Studio Code 不报告与命令行 tsc 相同的错误?

    如果我故意在代码中输入错误 我会收到错误 这是正确的代码 declare const State TwineState 如果我删除最后一个字符 然后在命令行中键入 tsc 则会出现以下错误 tsc prod spec ts 7 22 err
  • 如何处理 React Native 应用程序在 tvOS 和 Android TV 之间的扩展问题?

    Apple TV 的原生分辨率似乎为 1920x1080 如预期 但 Android TV Fire TV 的原生分辨率似乎为 961 5022957581195x540 8450413639423 根据Dimensions get win
  • 如何在不修改java.security文件的情况下在Java 8中启用SSLv3?

    在 JDK 8 中 默认情况下禁用 SSLv3 并启用 TLSv1 2 当我谷歌时 我发现很多帖子都通过注释掉以下行来启用 SSLv3java securitylib 文件夹中的文件 我想通过设置系统属性来启用 SSLv3 而不需要修改 j
  • 如何获取枚举条目的名称?

    我想迭代 TypeScript 枚举对象并获取每个枚举符号名称 例如 枚举 myEnum 条目 1 条目 2 for var entry in myEnum use entry s name here e g entry1 尽管已经给出了答
  • 类型错误:无法读取未定义的属性“prepareStyles”

    My Component好像 import React PropTypes from react import TransactionListRow from TransactionListRow import Table TableBod
  • Laravel 用户有权访问某些页面吗?

    我创建了一个 slug 页面 如下所示 Create pages table for dynamic pages id slug title page template 0 about about us about blade 1 cont
  • 使用 jQuery 调整父元素的高度以匹配其可见子元素的高度

    我有一个在容器中运行的幻灯片 需要容器的高度与可见幻灯片的高度相匹配 不幸的是 这些图像是绝对定位的 我对此无能为力 为了解决这个问题 我使用了一些 jQuery 魔法来处理相同的功能 由于某种原因 我的代码无法正常工作 每当 contai
  • 有没有JavaScript静态分析工具? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我做了一些愚蠢的事情 例如变量名拼写错误 时 我习惯于让编译器抱怨 但 JavaScript 习惯于让
  • 为什么我不能直接将 document.getElementById 分配给不同的函数?

    所以我试图定义一个类似于 document getElementById 的函数 g 以下工作正常 var g function id return document getElementById id 但为什么这个更直接的代码不起作用呢
  • dplyr:mutate 内的整数采样

    我正在尝试在中生成一列tbl df这是一个 0 或 1 的随机整数 这是我正在使用的代码 library dplyr set seed 0 Dummy data frame to test df lt tbl df data frame x
  • 设置 Yii2 预览

    Yii2 预览版最近发布 可在github https github com yiisoft yii2 我想对其进行试驾 但到目前为止 文档 几乎立即就过时了 因为它仍在大量开发中 我曾尝试遵循本指南 http www yiiframewo
  • 无法刷新状态存储

    我正在尝试在 Kafka Streams 中创建一个 leftJoin 它对于大约 10 条记录工作正常 然后由于以下原因导致异常崩溃 NullPointerException用这样的代码 private static KafkaStrea
  • 如何在eclipse中同时调试两个项目?

    我有两个项目 consle 和 android 项目 我想比较变量的值 因为相同的代码 正如我认为的 给出了不同的结果 我必须找到错误 如果我按 F6 按钮 状态只会在一个项目中发生变化 是否可以即时切换调试项目 在两个项目中放置断点并以调
  • 尝试使用类型族来消除具有灵活上下文的重叠实例时出错

    我试图在我正在使用的类型的类型参数上使用一些相当复杂的条件来定义类型类的实例 并且认为一个有用的方法是声明一个封闭的类型系列 该系列在我定义的实例之间进行选择 不幸的是 我根本无法让这个想法发挥作用 因为 GHC 抱怨这些实例是重复的 这是
  • grails-app/utils 目录

    我刚刚注意到的存在grails app utils目录 我从未在任何文档中看到过它 或在项目中使用过 它是在运行时默认创建的create app 知道你应该在那里放什么吗 实用程序 代码是一个明显的猜测 但似乎应该放在src dir 谢谢
  • 扩展 JavaScript 字符串中的 ${var} 引用 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 学习一些超越普通 JavaScript 的东西 我正在读的书告诉我这样的说法 let someVar Happy console
  • 从R中的矩阵中删除对角线元素

    如何使用 R 从矩阵 L 中删除对角元素 diagL 我尝试使用以下内容 subset L select diag L or subset L select c diag L 但我得到了 0 个号码 R 编程语言 我更喜欢C 它更容易拼写