awk,If 测试用 2 列替换 1 列
美好的一天,
我有以下数据矩阵,
1 1 0 0 1
2 0 0 1 1
1 1 0 0 1
2 1 2 2 0
我想根据以下条件将列加倍
Condition 1 if $i == 0, replace with 1 1 (i.e. in 2 columns)
Condition 2 if $i == 1, replace with 1 2
Condition 3 if $i == 2, replace with 2 2
因此,该示例的预期输出是
1 2 1 2 1 1 1 1 1 2
2 2 1 1 1 1 1 2 1 2
1 2 1 2 1 1 1 1 1 2
2 2 1 2 2 2 2 2 1 1
我通常使用 R 和 Octave 矩阵,但在一段时间后,当前矩阵会变得安静大 R 出来记忆力,而且需要很长时间。
Good day
I have the following data matrix
1 1 0 0 1
2 0 0 1 1
1 1 0 0 1
2 1 2 2 0
I would like to double the columns according to the following conditions
Condition 1 if $i == 0, replace with 1 1 (i.e. in 2 columns)
Condition 2 if $i == 1, replace with 1 2
Condition 3 if $i == 2, replace with 2 2
So the expected output for the example, would be
1 2 1 2 1 1 1 1 1 2
2 2 1 1 1 1 1 2 1 2
1 2 1 2 1 1 1 1 1 2
2 2 1 2 2 2 2 2 1 1
I usually use R and Octave matrices but the current matrix in quiet large after a while R get out of memory and it takes long.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果数据矩阵仅包含 0、1 或 2,您可以使用简单的截断技巧:
If the data matrix only contains 0, 1 or 2, you could use a simple truncation trick: