楼主: cathy777777
2263 11

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

  • 0关注
  • 0粉丝

等待验证会员

初中生

57%

还不是VIP/贵宾

-

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

+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
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 02:40