做相关性分析需要提取相关性前200的数据作图。如题,请问如何按照绝对值提前矩阵的数据并保留数据对应行列名做成新矩阵呢(R语言)
1条回答 默认 最新
- 「已注销」 2023-01-24 16:25关注
可以使用 order() 函数来按照绝对值排序矩阵的数据,然后使用索引将前 200 个数据提取出来。具体实现方式如下:
# 定义矩阵 matrix <- matrix(rnorm(20), nrow = 4, ncol = 5) # 按照绝对值排序 order <- order(abs(matrix)) # 提取前 200 个数据 matrix_top_200 <- matrix[order[1:200]]
在上述代码中,matrix 是需要排序的矩阵,order(abs(matrix)) 按照矩阵中每个数据的绝对值进行排序,并返回排序后每个数据对应的索引。matrix[order[1:200]] 则是按照索引提取出前 200 个数据,并保留数据对应行列名。
如果需要保留行和列名,可以使用 rownames() 和 colnames() 函数来保存原来矩阵的行和列名,再将其赋值给新的矩阵。
matrix_top_200 <- matrix[order[1:200], order[1:200]] rownames(matrix_top_200) <- rownames(matrix) colnames(matrix_top_200) <- colnames(matrix)
这样就可以得到新的矩阵,并保留了原来的行和列名。
望采纳本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 webAPI接口返回值判断
- ¥15 自动化测试 UI Automtion
- ¥20 关于#深度学习#的问题:2708)输出:邻接矩阵A 或者 节点索引方式:通过随机游走或者其他方式,保持节点连接类似下图(语言-python)
- ¥15 win2012 iscsi ipsec
- ¥15 封装的 matplotlib animation 不显示图像
- ¥15 python摄像头画面无法显示
- ¥15 关于#3d#的问题:d标定算法(语言-python)
- ¥15 cve,cnnvd漏洞扫描工具推荐
- ¥15 图像超分real-esrgan网络自己训练模型遇到问题
- ¥15 如何构建全国统一的物流管理平台?