r - 打印前 8 列和最后 3 个非零列之一 linux/awk/sed/R

标签 r linux awk sed

我想打印前 8 列和最后 3 列中具有文件中非零值的一列。输入示例:

chr2    219541089   C   15  0   12  0   3   0   0   20
chr20   31831068    C   48  3   45  0   0   6.25    0   0
chr20   38724789    C   41  4   37  0   0   9.7561  0   0
chr20   63080141    C   95  0   91  4   0   0   4.21053 0
chr22   37642528    C   31  2   29  0   0   6.45161 0   0

期望的输出:

chr2    219541089   C   15  0   12  0   3   20
chr20   31831068    C   48  3   45  0   0   6.25
chr20   38724789    C   41  4   37  0   0   9.7561
chr20   63080141    C   95  0   91  4   0   4.21053
chr22   37642528    C   31  2   29  0   0   6.45161

如有任何帮助,我们将不胜感激!谢谢

最佳答案

更基本的解决方案可能是

cbind(df[,1:8], pmax(df[,9], df[,10], df[,11]))

其中 df 是您的数据框。

关于r - 打印前 8 列和最后 3 个非零列之一 linux/awk/sed/R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52084775/

相关文章:

r - 将一列中的多个文本值转换为不同列

linux - 每次系统启动时如何在后台自动启动stardict

regex - awk/正则表达式 : parsing error logs not always returned error description

awk - 将每一行向下移动到第二行

r - 循环: skip a certain type of error (R)

r - 如何获取数据框中所有列的类?

r - 按因子选择数据框中的第 n 个元素

linux - 与命令 : "echo ' #!/bin/bash' |tee file"一样,但使用 "echo ' #!/bin/bash' | myscript file"

python - 在 C 中用另一个函数名称批量替换函数名称

regex - 在 TSV 的匹配之前/之后插入换行符