【发布时间】:2016-02-15 11:51:00
【问题描述】:
我无法将大型二维矩阵格式化为“稀疏矩阵”格式。我希望这里有人可以提供帮助。
由于文件很大,应该首选 awk 脚本。
这是来自数据的假设集(制表符分隔):
Regions string8-0 string8-5000 string8-10000
string8-0 0 2.1 1.15
string8-5000 0 0 2.4
string8-10000 0 4 3.1
因此,结果输出应该是一个制表符分隔的文件,有四列。 Column1 = 行名的数字部分(数据中的第 1 列;例如:0、5000、1000); Column2 = 是 colnames 的对应数字部分(例如:0、5000、10000),Column3 = 两个 bin 之间的值。 Column4 = 列名的字符串部分(string8、string8、string8)。
只有在对应的值不为零时才打印。
像这样:
0 5000 2.1 string8
0 10000 1.15 string8
5000 10000 2.4 string8
10000 5000 4 string8
10000 10000 3.1 string8
对不起,如果这是一个多余的问题,但我找不到任何解决方案。
谢谢, 拉兹洛
【问题讨论】:
-
您说您遇到了麻烦——您尝试过什么,特别遇到了什么麻烦?
标签: bash matrix text awk editing