On 11-12-26 5:44 AM, sparandekar wrote:
Hello !

I am attempting to switch from being a long time SAS user to R, and would
really appreciate a bit of help ! The first thing I do in getting a large
dataset (thousands of obervations and hundreds of variables) is to run a SAS
command PROC CONTENTS VARNUM command - this provides me a table with the
name of each variable, its type and length;  then I run a PROC MEANS - for
numerical variables it gives me a table with the number of non-missing
values, min, max, mean and std. dev.  My data usually has errors and this
first step helps me to spot the errors and 'clean' the dataset.

The 'summary' function in R and other function as part of Hmisc or Psych
package do not work for me.

How can I get a table from an R data.frame that has the following structure
(header row and example).

Rowname  Character/Integer  Length   Non-Missing    Minimum
Maximum              Mean                   SD

HHID            Integer                       12            32,344
114455007701   514756007812       2.345 x 10^10    1.456 x 10^10
Head            Character                   38            24,566
-                                   -                         -
-

Using the tables package, you can get something like that as follows, assuming that "df" is your dataframe:

nonmissing <- function(x) sum(!is.na(x))

tabular(All(df, character=TRUE) ~ (typeof + length + nonmissing + min + max + mean + sd))

It isn't perfect: it will skip anything that isn't numeric or character (e.g. factors). There are ways to work around that, but they aren't as simple as you might like. You can also use

sapply(df, class)

to see the classes of all the columns.

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to