zoukankan      html  css  js  c++  java
  • linux awk命令实现统计每行数据的总和、平均值

    1、测试数据

    root@PC1:/home/test# ls
    test.txt
    root@PC1:/home/test# cat test.txt
    3 4 2 2
    1 9 5 7
    5 7 8 4
    2 3 4 6

    2、实现计算每行的和

    root@PC1:/home/test# ls
    test.txt
    root@PC1:/home/test# cat test.txt
    3 4 2 2
    1 9 5 7
    5 7 8 4
    2 3 4 6
    root@PC1:/home/test# awk 'BEGIN{sum = 0}{for(i = 1; i <= NF; i++) {sum += $i} {print sum; sum = 0}}' test.txt > sum.txt
    root@PC1:/home/test# ls
    sum.txt  test.txt
    root@PC1:/home/test# cat sum.txt  ## 每行数据的和
    11
    22
    24
    15

    3、实现计算每行数据的平均数

    root@PC1:/home/test# ls
    test.txt
    root@PC1:/home/test# cat test.txt
    3 4 2 2
    1 9 5 7
    5 7 8 4
    2 3 4 6
    root@PC1:/home/test# awk 'BEGIN{sum = 0} {for(i = 1; i <= NF; i++) {sum += $i} {print sum/NF; sum = 0}}' test.txt > mean.txt
    root@PC1:/home/test# ls
    mean.txt  test.txt
    root@PC1:/home/test# cat mean.txt  每行数据的平均数
    2.75
    5.5
    6
    3.75

    4、R实现

    dir()
    dat <- read.table("test.txt", header = F)
    dat
    apply(dat, 1, sum)
    apply(dat, 1, mean)
    > dir()
    [1] "test.txt"
    > dat <- read.table("test.txt", header = F)  ## 读取测试数据
    > dat
      V1 V2 V3 V4
    1  3  4  2  2
    2  1  9  5  7
    3  5  7  8  4
    4  2  3  4  6
    > apply(dat, 1, sum)   ## 每行的和
    [1] 11 22 24 15
    > apply(dat, 1, mean)  ## 每行的平均数
    [1] 2.75 5.50 6.00 3.75
  • 相关阅读:
    bzoj 1295 [SCOI2009]最长距离 最短路
    bzoj 3669 [Noi2014]魔法森林
    bzoj 1432 [ZJOI2009]Function 思想
    用JSP输出Hello World
    Web开发基础
    JSP相关背景
    JSP概述
    Java视频播放器的制作
    为JFileChooser设定扩展名过滤
    使用JFileChooser保存文件
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15805541.html
Copyright © 2011-2022 走看看