In example 7.8, we used built-in functions to produce an empirical CDF plot. But the empirical cumulative distribution function (CDF) is simple to calculate directly, and it might be useful to have more control over its appearance than is aﬀorded by the direct method employed in example 7.8. In a later post, we’ll use that control to improve upon example 7.8.

**SAS**

In SAS, we first read the data from a locally stored Stata data set. Then, we calculate the empirical CDF for `pcs`. We do this by ﬁrst sorting (1.5.6) on `pcs`. Then the order statistic of the observation divided by the total number of obervations is the empirical probability that X ≤ x. We ﬁnd the number of observations using the `nobs` data set option (A.6.1) and the observation number using the `_n_` implied variable (1.4.15). Then we can plot the empirical CDF using `proc gplot` (section 5.1.1) to make a scatterplot and a `symbol` statement with the `j` interpolation (as in section 1.13.5) to connect the points.

proc import datafile="C:bookhelp.dta"

out=help dbms=dta;

run;

proc sort data=help;

by pcs;

run;

data help_a;

set help nobs=totalobs;

ecdf_pcs = _n_ / totalobs;

run;

symbol1 i=j v=none c=blue;

proc gplot data=help_a;

plot ecdf_pcs * pcs;

run;

quit;

**R**

Now, R. First, make the ECDF values in a similar fashion to SAS, then make an empty frame (5.1.1), then ﬁll the frame with lines connecting the calculated values (5.2.1).

library(foreign)

ds <- read.dta

("http://www.math.smith.edu/sasr/datasets/help.dta")

attach(ds)

sortpcs <- sort(pcs)

ecdfpcs <- (1:length(sortpcs))/length(sortpcs)

plot(sortpcs, ecdfpcs, type="n")

lines(sortpcs, ecdfpcs)

*Related*

To

**leave a comment** for the author, please follow the link and comment on their blog:

** SAS and R**.

R-bloggers.com offers

**daily e-mail updates** about

R news and

tutorials on topics such as:

Data science,

Big Data, R jobs, visualization (

ggplot2,

Boxplots,

maps,

animation), programming (

RStudio,

Sweave,

LaTeX,

SQL,

Eclipse,

git,

hadoop,

Web Scraping) statistics (

regression,

PCA,

time series,

trading) and more...

If you got this far, why not

__subscribe for updates__ from the site? Choose your flavor:

e-mail,

twitter,

RSS, or

facebook...

**Tags:** connect points, empirical CDF, plot, read data in Stata format, read from local disk, sort