我需要运行一个awk脚本来检测频谱中的局部最大值(峰值).该光谱在文本文件中以两列的形式出现.
这是一个较大项目的一部分,该项目将确定这些峰是否代表某些化合物(真正的代谢物).
我搜索了谷歌和无数其他地方我真的找不到任何东西在R中运行awk脚本
编辑:我正在使用的awk脚本看起来像这样 -
awk 'BEGIN{dydx = 0;}
{
if(NR > 1)
{ dydx = ($2 - y0)/($1 - x0); }
if(NR > 2 && last * dydx < 0)
{ printf( "%.4f %.4f\n", (x0 + $1)/2, log((dydx<0)?-dydx:dydx)); } ;
last=dydx; x0=$1; y0=$2
}' /home/chaitanya/Work/nmr_spectra/caffeine/pdata/1/spectrumtext.txt | awk '$2 > 17'
Run Code Online (Sandbox Code Playgroud)
你也可以看到昨天我问的这个问题.请注意,这不是同一个问题.
你应该能做到的
system('your awk command here')
Run Code Online (Sandbox Code Playgroud)
如果你的awk命令中有单引号,可以像Hong Ooi建议的那样,将你的awk命令放在一个单独的文件中,然后从system命令中运行它或者转义单引号:
> system('echo \'hello guy!\' ')
hello guy!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5308 次 |
| 最近记录: |