R中的Awk脚本

Cha*_*tem 1 awk r

我需要运行一个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)

你也可以看到昨天我问的这个问题.请注意,这不是同一个问题.

Xu *_*ang 7

你应该能做到的

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)