楼主: cathy777777
2933 11

[问答] R软件处理矩阵 筛选数据 循环 删除行列 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

高中生

67%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
1.0215
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
159 点
帖子
44
精华
0
在线时间
25 小时
注册时间
2018-12-30
最后登录
2019-12-1

楼主
cathy777777 学生认证  发表于 2019-11-17 17:37:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求助///哭哭
处理一个N*N的关系矩阵
已经导入了矩阵行列名都处理好了
想要把整行或整列都是0的行列删除
想问下应该怎么做
(刚开始用r基础也不太好555)
感谢!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:筛选数据 删除行 r软件 怎么做 编程 r软件 数据处理 筛选 矩阵

沙发
cathy777777 学生认证  发表于 2019-11-17 17:56:46
个人思路 #增加一列求和;筛选和为0的行;记录行名;删除同名行列
如果没有直接的方法 这样能实现么 怎么做呢555

藤椅
conbrownkkk 发表于 2019-11-17 19:44:19
cathy777777 发表于 2019-11-17 17:56
个人思路 #增加一列求和;筛选和为0的行;记录行名;删除同名行列
如果没有直接的方法 这样能实现么 怎么做 ...
这样不行的,如果某行不全是0,但加起来正好是0呢

板凳
conbrownkkk 发表于 2019-11-17 19:55:47
假设你的N*N的矩阵叫 a

b = apply(a != 0, 2, sum)
b1 = which(b == 0)    ## b1这个结果表示哪些列都是0元素

c = apply(a != 0, 1, sum)
c1 = which(c == 0)    ## c1这个结果表示哪些行都是0元素

a[-c1, -b1]   ## 这是你想要的的结果
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 热心帮助其他会员
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

报纸
cathy777777 学生认证  发表于 2019-11-17 21:17:28
conbrownkkk 发表于 2019-11-17 19:55
假设你的N*N的矩阵叫 a

b = apply(a != 0, 2, sum)
感谢!!!!
(因为我的数据都是正数所以我想着用和应该可以0_0

地板
cathy777777 学生认证  发表于 2019-11-17 21:52:17
conbrownkkk 发表于 2019-11-17 19:55
假设你的N*N的矩阵叫 a

b = apply(a != 0, 2, sum)
有点奇怪
矩阵是对称的所以c1里面元素的个数应该和b1一样 但是c1是空的

7
conbrownkkk 发表于 2019-11-18 10:29:19
cathy777777 发表于 2019-11-17 21:52
有点奇怪
矩阵是对称的所以c1里面元素的个数应该和b1一样 但是c1是空的
不好意思,之前没有看到是关系矩阵,是指correlation matrix是吧。那至少对角线元素都是1,怎么会整行或整列都是0呢

8
cathy777777 学生认证  发表于 2019-11-18 14:27:46
conbrownkkk 发表于 2019-11-18 10:29
不好意思,之前没有看到是关系矩阵,是指correlation matrix是吧。那至少对角线元素都是1,怎么会整行或整 ...
啊那可能不能叫关系矩阵..
具体内容是贸易关系 行为出口国 列为进口国 中间是贸易量 所以对角线应该都是零
(抱歉真的r小白。。

9
fember 发表于 2019-11-18 18:50:25
解决了吗,不然将所有0赋值成NA,然后删除所有有NA 的行,这是我的思路。

10
cathy777777 学生认证  发表于 2019-11-18 18:59:23
fember 发表于 2019-11-18 18:50
解决了吗,不然将所有0赋值成NA,然后删除所有有NA 的行,这是我的思路。
没有..但是我需要整行或整列全是0才删除
我用求和的方法基本可以筛选行 但是不知道怎么筛选列。。。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 23:38