如何使用plink/Unix将数据从科学计数法转换为十进制?

问题描述 投票:0回答:2

我处理遗传数据。 我刚刚找到一台超级计算机来帮助进行遗传分析,但我需要将数据转换为超级计算机想要的格式:两列,一列包含染色体信息,一列包含 p 值。 p值列不能有任何字母,但我拥有的一些数据采用科学计数法,如下所示:

rs191895619 1.052e-05
rs140779862 0.4406
rs11127542 0.9771
rs112183333 0.02569
rs191067167 0.427
rs111321342 1.042e-05

将几个 E 放入其中不得包含字母的列中。

我尝试使用

grep
使用
grep "*e*" filename.txt > outputfilename.txt
以及
grep "*e-05" filename.txt > outputfilename.txt
将它们移动到自己的文件中,但两次都给了我一个空白的输出文件,即使所有 5000 行科学标注的数据都已移入它们的文件中我自己的文件,我不知道如何将数据更改为十进制表示法,除非单独编辑每一行,每个文件需要几天时间。

我可以向 plink 发出一个命令,以便它给我的数据首先不是科学计数法吗? 或者我可以在 plink 或 Unix 中使用命令将我拥有的科学记数法转换为十进制记数法?

unix scientific-notation
2个回答
0
投票

您可以使用

awk
将科学数转换为十进制:

awk '{printf "%s %f\n", $1, $2}' file

输出:

rs191895619 0.000011
rs140779862 0.440600
rs11127542 0.977100
rs112183333 0.025690
rs191067167 0.427000
rs111321342 0.000010

您可以通过更改

%f
中的
printf
部分来调整精度。


另请参阅:


0
投票

FCN=-13519.4 *1 N 2.49992e+03 4.99986e+01 5.07817e-05 -1.25324e+00 2亩 6.64681e-03 1.99457e-02 6.40648e-05 6.64686e-03 3 信号 9.97351e-01 1.41046e-02 1.51177e-05 -9.28179e-01 错误防御= 0.5 全部... 协方差矩阵计算成功 FCN=-67940.6 来自 HESSE 状态=正常 16 次通话 85 次总计 EDM=8.92966e-08 策略= 1 错误矩阵准确 外部参数 内部 内部
不。 名称值错误步长值##标题## 1 N 1.00000e+04 9.99999e+01 2.39979e-05 -9.27295e-01 2亩 6.64894e-03 9.97333e-03 3.59087e-04 6.64899e-03 3 信号 9.97349e-01 7.05231e-03 1.69492e-05 -9.28179e-01 错误防御= 0.5 在此输入链接描述

© www.soinside.com 2019 - 2024. All rights reserved.