File: stats-rowStats.R

package info (click to toggle)
fbasics 4041.97-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,016 kB
  • sloc: ansic: 740; makefile: 14
file content (103 lines) | stat: -rw-r--r-- 3,339 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103

# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU Library General
# Public License along with this library; if not, write to the
# Free Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA  02111-1307  USA


################################################################################
# FUNCTION:                 DESCRIPTION:
#  rowStats                  Computes sample statistics by row
#  rowSums                   Computes sums of values in each row
#  rowMeans                  Computes means of values in each row
#  rowSds                    Computes standard deviation of each row
#  rowVars                   Computes sample variance by row
#  rowSkewness               Computes sample skewness by row
#  rowKurtosis               Computes sample kurtosis by row
#  rowMaxs                   Computes maximum values in each row
#  rowMins                   Computes minimum values in each row
#  rowProds                  Computes product of values in each row
#  rowQuantiles              Computes product of values in each row
# FUNCTION:                 NO LONGER USED:
#  rowAvgs                   Computes sample mean by row
#  rowStdevs                 Computes sample variance by row
################################################################################


rowStats <-
function(x, FUN, ...)
{   
    # A function implemented by Diethelm Wuertz

    # Description:
    #   Computes sample statistics by row

    # FUNCTION:

    # Statistics:
    apply(na.omit(as.matrix(x), ...), 1, FUN, ...)
}


# ------------------------------------------------------------------------------


# rowSums() 
#   is part of R's base package  


# ------------------------------------------------------------------------------


# rowMeans <-
#   is part of R's base package    


# ------------------------------------------------------------------------------


rowSds <- function(x, ...) { rowStats(x, "sd", ...) }
rowVars <- function(x, ...) { rowStats(x, "var", ...) }
rowSkewness <- function(x, ...) { rowStats(x, "skewness", ...) }
rowKurtosis <- function(x, ...) { rowStats(x, "kurtosis", ...) }
rowMaxs <- function(x, ...) { rowStats(x, "max", ...) }
rowMins <- function(x, ...) { rowStats(x, "min", ...) }
rowProds <- function(x, ...) { rowStats(x, "prod", ...) }


# ------------------------------------------------------------------------------


rowQuantiles <-
function(x, prob = 0.05, ...)
{
    # A function implemented by Diethelm Wuertz
    
    # FUNCTION:

    # Row Quantiles:
    stopifnot(length(prob) == 1)
    rowStats(x, "quantile", probs = prob, ...)
}


################################################################################


rowAvgs <- function(x, ...) rowMeans(x, ...)
rowStdevs <- rowSds


################################################################################