R语言循环里正常保存python 中 sparse matrix的应用和基本操作GO term heatmap and dot pic

52 篇文章 6 订阅

R语言里一些画图程序不能在循环里正常保存的解决办法 (2020-07-06 11:42:47)转载▼
标签: 生物信息 科学 分类: 学术-R
这个目前只知其然不知其所以然,但是解决问题是可以的。
Seurat里的DimPlot画图,单独使用的时候没有问题,用pdf+dev.off()可以正常输出保存图片,但是放在循环里却无法实现,原因不明。
但是解决办法也很简单,加一个print函数就可以了。示例代码如下:
pdf(“abc.pdf”)
p1<-DimPlot(mouse.data)
print(p1)
dev.off()

python 中 sparse matrix的应用和基本操作
https://blog.csdn.net/weixin_42067234/article/details/80247194?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2.no_search_link

GO term heatmap and dot pic
https://blog.csdn.net/weixin_44879403/article/details/114951937

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用稀疏矩阵的非零元素属性来遍历非零元素。在Python,您可以使用scipy.sparse库来处理稀疏矩阵。以下是一个示例代码: ``` import scipy.sparse as sp # 创建一个稀疏矩阵 mat = sp.csr_matrix([[0, 0, 1], [0, 2, 0], [3, 0, 4]]) # 遍历非零元素 for i, j, val in zip(*sp.find(mat)): print("({},{}) = {}".format(i, j, val)) ``` 输出结果为: ``` (0,2) = 1 (1,1) = 2 (2,0) = 3 (2,2) = 4 ``` 这个代码使用了`sp.find()`函数来获取稀疏矩阵的非零元素的行、列和值,然后使用`zip()`函数将它们打包在一起,最后使用一个循环来遍历它们。 ### 回答2: 在Python,我们可以使用scipy库sparse模块来处理稀疏矩阵。对于稀疏矩阵,可以使用csr_matrix或csc_matrix来表示。在遍历稀疏矩阵的非零元素时,可以使用nonzero函数来获取非零元素的索引。 下面是一个简单的例子,说明如何只遍历稀疏矩阵的非零元素: ```python import numpy as np from scipy.sparse import csr_matrix # 创建一个稀疏矩阵 data = np.array([1, 2, 3, 4, 5]) row = np.array([0, 2, 2, 0, 1]) col = np.array([1, 0, 2, 2, 1]) sparse_matrix = csr_matrix((data, (row, col)), shape=(3, 3)) # 获取非零元素的索引 nonzero_rows, nonzero_cols = sparse_matrix.nonzero() # 遍历非零元素并输出 for i in range(len(nonzero_rows)): row_index = nonzero_rows[i] col_index = nonzero_cols[i] value = sparse_matrix[row_index, col_index] print(f"非零元素位置:({row_index}, {col_index}),值:{value}") ``` 运行上述代码,我们可以得到如下输出: ``` 非零元素位置:(0, 1),值:1 非零元素位置:(1, 1),值:5 非零元素位置:(2, 0),值:2 非零元素位置:(2, 2),值:3 ``` 通过这种方式,我们可以只遍历稀疏矩阵的非零元素,并获取它们的位置和对应的值。 ### 回答3: 在Python,可以使用scipy库sparse模块来处理稀疏矩阵。 首先,我们需要导入相应的库和模块: ```python from scipy.sparse import csr_matrix ``` 然后,我们可以使用csr_matrix函数创建一个稀疏矩阵: ```python matrix = csr_matrix([[0, 1, 0], [1, 0, 0], [0, 0, 1]]) ``` 接下来,我们可以使用非零元素的坐标来遍历稀疏矩阵的非零元素。可以通过调用matrix的nonzero()方法来获取非零元素的行和列的索引: ```python row_indices, column_indices = matrix.nonzero() ``` 然后,我们可以使用这些索引来访问和处理非零元素: ```python for i in range(len(row_indices)): row = row_indices[i] column = column_indices[i] value = matrix[row, column] # 处理非零元素的值 ``` 在循环,row表示非零元素的行索引,column表示非零元素的列索引,value表示非零元素的值。我们可以在循环进行任何处理操作。 总结起来,通过获取稀疏矩阵的非零元素的行和列的索引,我们可以便利稀疏矩阵的非零元素,并对其进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值