g01ae Method
関数リスト一覧   NagLibrary Namespaceへ  ライブラリイントロダクション  本ヘルプドキュメントのchm形式版

g01ae constructs a frequency distribution of a variable, according to either user-supplied, or method-calculated class boundary values.

Syntax

C#
public static void g01ae(
	int n,
	int k,
	double[] x,
	int iclass,
	double[] cb,
	int[] ifreq,
	out double xmin,
	out double xmax,
	out int ifail
)
Visual Basic (Declaration)
Public Shared Sub g01ae ( _
	n As Integer, _
	k As Integer, _
	x As Double(), _
	iclass As Integer, _
	cb As Double(), _
	ifreq As Integer(), _
	<OutAttribute> ByRef xmin As Double, _
	<OutAttribute> ByRef xmax As Double, _
	<OutAttribute> ByRef ifail As Integer _
)
Visual C++
public:
static void g01ae(
	int n, 
	int k, 
	array<double>^ x, 
	int iclass, 
	array<double>^ cb, 
	array<int>^ ifreq, 
	[OutAttribute] double% xmin, 
	[OutAttribute] double% xmax, 
	[OutAttribute] int% ifail
)
F#
static member g01ae : 
        n:int * 
        k:int * 
        x:float[] * 
        iclass:int * 
        cb:float[] * 
        ifreq:int[] * 
        xmin:float byref * 
        xmax:float byref * 
        ifail:int byref -> unit 

Parameters

n
Type: System..::.Int32
On entry: n, the number of observations.
Constraint: n1.
k
Type: System..::.Int32
On entry: k, the number of classes desired in the frequency distribution. Whether or not class boundary values are user-supplied, k must include the two extreme classes which stretch to ±.
Constraint: k2.
x
Type: array< System..::.Double >[]()[]
An array of size [n]
On entry: the sample of observations of the variable for which the frequency distribution is required, xi, for i=1,2,,n. The values may be in any order.
iclass
Type: System..::.Int32
On entry: indicates whether class boundary values are to be calculated within g01ae, or are supplied by you.
If iclass=0, then the class boundary values are to be calculated within the method.
If iclass=1, they are user-supplied.
Constraint: iclass=0 or 1.
cb
Type: array< System..::.Double >[]()[]
An array of size [k]
On entry: if iclass=0, then the elements of cb need not be assigned values, as g01ae calculates k-1 class boundary values.
If iclass=1, the first k-1 elements of cb must contain the class boundary values you supplied, in ascending order.
In both cases, the element cb[k-1] need not be assigned, as it is not used in the method.
On exit: the first k-1 elements of cb contain the class boundary values in ascending order.
Constraint: if iclass=1, cb[i-1]<cb[i] for i=1,2,,k-2.
ifreq
Type: array< System..::.Int32 >[]()[]
An array of size [k]
On exit: the elements of ifreq contain the frequencies in each class, fi for i=1,2,,k. In particular ifreq[0] contains the frequency of the class up to cb[0], f1, and ifreq[k-1] contains the frequency of the class greater than cb[k-2], fk.
xmin
Type: System..::.Double %
On exit: the smallest value in the sample, a.
xmax
Type: System..::.Double %
On exit: the largest value in the sample, b.
ifail
Type: System..::.Int32 %
On exit: ifail=0 unless the method detects an error (see [Error Indicators and Warnings]).

Description

The data consists of a sample of n observations of a continuous variable, denoted by xi, for i=1,2,,n. Let a = minx1,,xn  and b = maxx1,,xn .
g01ae constructs a frequency distribution with k>1 classes denoted by fi, for i=1,2,,k.
The boundary values may be either user-supplied, or method-calculated, and are denoted by yj, for j=1,2,,k-1.
If the boundary values of the classes are to be method-calculated, then they are determined in one of the following ways:
(a) if k>2, the range of x values is divided into k-2 intervals of equal length, and two extreme intervals, defined by the class boundary values y1,y2,,yk-1;
(b) if k=2, y1=12a+b.
However formed, the values y1,,yk-1 are assumed to be in ascending order. The class frequencies are formed with
  • f1= the number of x values in the interval -,y1
  • fi= the number of x values in the interval yi-1 ,ik , i=2,,k-1
  • fk= the number of x values in the interval yk-1 , ,
where [ means inclusive, and ) means exclusive. If the class boundary values are method-calculated and k>2, then f1=fk=0, and y1 and yk-1 are chosen so that y1<a and yk-1>b.
If a frequency distribution is required for a discrete variable, then it is suggested that you supply the class boundary values; method-calculated boundary values may be slightly imprecise (due to the adjustment of y1 and yk-1 outlined above) and cause values very close to a class boundary to be assigned to the wrong class.

References

Error Indicators and Warnings

Accuracy

Further Comments

The time taken by g01ae increases with k and n. It also depends on the distribution of the sample observations.

Example

See Also