我正在处理以下数据集,我想创建一个awk脚本,在与其他列之间进行算术运算,并将每个记录的结果添加到一个新列中,该列可以称为“生存百分比”,只有2位小数。
操作如下:
((Column 1 - Column 2)/Column 3)*100
下面您可以看到数据集的示例:
40462186,177827,7671,4395,190,4.313743132
2872296,273870,3492,95349,1216,1.275057509
45236699,265691,6874,5873,152,2.587215976
77481,40024,153,516565,1975,0.382270638
我尝试实现的代码如下,但它甚至没有运行,而且它是一个shell脚本,而不是我希望的awk脚本。
awk 'BEGIN { FS=OFS="," } NR == 1 { $11="new" } NR > 1 { $11=(($1-$2)/$3)*100 }1' dataset.csv
来自评论:正如你告诉我的,在删除^M之后,我检测到“总体”列中有一些行应该是数字的,并且有一个字符串。你有没有想过也使用awk来丢弃满足这个条件的记录,然后执行我的代码的操作?知道吗?