ukoenig at med.uni-marburg.de
2008-Mar-17 18:05 UTC
[R] Table of basic descriptive statistics like SPSS
Dear list readers, I want to: 1. Get a table of basic descriptive statistics for my variables with the variable names one below the other like SPSS descriptive statistics: Varname N Min Max Mean SD xxxx x x x x x xxx x x x x x .... 2. Delete some variables from a data frame or exclude variables from beeing analyzed. 3. Create a text file / redirect the terminal output to a file (it is supposed to be easy, but I could not find a solution)? 4. Create a latex/dvi file 5. Create a PDF file (can that be done within R?) This code took me some ours (I am new to R). What do you think about my solution? Are there easier ones? Comments welcome! Sorry if my questions look very basic and I hope they are understandable. #here is my code setwd("c:\\temp") #set working directory library(psych) library(xtable) library(tools) #Create example data frame with many variables df <- as.data.frame(matrix( rnorm(1000), ncol=100)) df <- describe(df) #describe from lib psych #How Can I create a text file with the output of "describe"? #The "save as" function from the GUI saves #only last part of the output to a text file (the first part is cut) #delete some variables. Or can I exclude variables from #beeing analyzed by "describe" to reduce the numer of cols? df$kurtosis <- df$skew <- df$se <- NULL x.df <- xtable(df) #Create an xtable object print(x.df, tabular.environment = "longtable", , floating = FALSE, file="c:\\temp\\descript.tex") #create latex file # produce dvi file in working directory (from tools) texi2dvi("c:\\temp\\descript.tex") #the lines below have to be added #Problem: these lines have to be added "manually" to the latex #before calling "texi2dvi": #\documentclass{article} #\usepackage{longtable} # Latex code #\end{document #Can I prodcuce a PDF file within R? Thanks a lot in advance! Udo
Hi Udo, See the Hmisc and Design libraries by Frank Harrell, and some associated PDF docs by Alzola and Harrell describing data management and display. Hank On Mar 17, 2008, at 2:05 PM, ukoenig at med.uni-marburg.de wrote:> Dear list readers, > I want to: > > 1. Get a table of basic descriptive statistics for my variables > with the variable names one below the other > like SPSS descriptive statistics: > > Varname N Min Max Mean SD > xxxx x x x x x > xxx x x x x x > .... > > 2. Delete some variables from a data frame or exclude variables > from beeing analyzed. > > 3. Create a text file / redirect the terminal output to a > file (it is supposed to be easy, but I could not find a solution)? > > 4. Create a latex/dvi file > > 5. Create a PDF file (can that be done within R?) > > This code took me some ours (I am new to R). What do you think about > my solution? Are there easier ones? Comments welcome! Sorry if > my questions look very basic and I hope they are understandable. > > > #here is my code > setwd("c:\\temp") #set working directory > > library(psych) > library(xtable) > library(tools) > > #Create example data frame with many variables > df <- as.data.frame(matrix( rnorm(1000), ncol=100)) > > df <- describe(df) #describe from lib psych > > #How Can I create a text file with the output of "describe"? > #The "save as" function from the GUI saves > #only last part of the output to a text file (the first part is cut) > > > #delete some variables. Or can I exclude variables from > #beeing analyzed by "describe" to reduce the numer of cols? > df$kurtosis <- df$skew <- df$se <- NULL > > x.df <- xtable(df) #Create an xtable object > print(x.df, tabular.environment = "longtable", , floating = FALSE, > file="c:\\temp\\descript.tex") #create latex file > > # produce dvi file in working directory (from tools) > texi2dvi("c:\\temp\\descript.tex") #the lines below have to be added > > #Problem: these lines have to be added "manually" to the latex > #before calling "texi2dvi": > > #\documentclass{article} > #\usepackage{longtable} > # Latex code > #\end{document > > > #Can I prodcuce a PDF file within R? > > > Thanks a lot in advance! > Udo > > ______________________________________________ > R-help at 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.Dr. Hank Stevens, Associate Professor 338 Pearson Hall Botany Department Miami University Oxford, OH 45056 Office: (513) 529-4206 Lab: (513) 529-4262 FAX: (513) 529-4243 http://www.cas.muohio.edu/~stevenmh/ http://www.cas.muohio.edu/ecology http://www.muohio.edu/botany/ "If the stars should appear one night in a thousand years, how would men believe and adore." -Ralph Waldo Emerson, writer and philosopher (1803-1882)
#How Can I create a text file with the output of "describe"? ?sink ?write.table ?write.csv #delete some variables. ?Extract df[,-(10:12)] df[, 1:9] --- ukoenig at med.uni-marburg.de wrote:> Dear list readers, > I want to: > > 1. Get a table of basic descriptive statistics for > my variables > with the variable names one below the other > like SPSS descriptive statistics: > > Varname N Min Max Mean SD > xxxx x x x x x > xxx x x x x x > .... > > 2. Delete some variables from a data frame or > exclude variables > from beeing analyzed. > > 3. Create a text file / redirect the terminal output > to a > file (it is supposed to be easy, but I could not > find a solution)? > > 4. Create a latex/dvi file > > 5. Create a PDF file (can that be done within R?) > > This code took me some ours (I am new to R). What do > you think about > my solution? Are there easier ones? Comments > welcome! Sorry if > my questions look very basic and I hope they are > understandable. > > > #here is my code > setwd("c:\\temp") #set working directory > > library(psych) > library(xtable) > library(tools) > > #Create example data frame with many variables > df <- as.data.frame(matrix( rnorm(1000), ncol=100)) > > df <- describe(df) #describe from lib psych > > #How Can I create a text file with the output of > "describe"? > #The "save as" function from the GUI saves > #only last part of the output to a text file (the > first part is cut) > > > #delete some variables. Or can I exclude variables > from > #beeing analyzed by "describe" to reduce the numer > of cols? > df$kurtosis <- df$skew <- df$se <- NULL > > x.df <- xtable(df) #Create an xtable object > print(x.df, tabular.environment = "longtable", , > floating = FALSE, > file="c:\\temp\\descript.tex") #create latex > file > > # produce dvi file in working directory (from tools) > texi2dvi("c:\\temp\\descript.tex") #the lines below > have to be added > > #Problem: these lines have to be added "manually" to > the latex > #before calling "texi2dvi": > > #\documentclass{article} > #\usepackage{longtable} > # Latex code > #\end{document > > > #Can I prodcuce a PDF file within R? > > > Thanks a lot in advance! > Udo > > ______________________________________________ > R-help at 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. >[[elided Yahoo spam]]
On Mon, Mar 17, 2008 at 7:05 PM, <ukoenig at med.uni-marburg.de> wrote:> 1. Get a table of basic descriptive statistics for my variables > with the variable names one below the other > like SPSS descriptive statistics:[trimmed]> 2. Delete some variables from a data frame or exclude variables > from beeing analyzed.Rcmdr can help you perform these; hence you could learn a correct syntax.> 4. Create a latex/dvi fileThere is also xtable() that can export objects to LaTeX. Soon this will be possible graphically from Rcmdr, too. Hope this is of help, Liviu
ukoenig at med.uni-marburg.de wrote:> Dear list readers, > I want to: > > 1. Get a table of basic descriptive statistics for my variables > with the variable names one below the other > like SPSS descriptive statistics: > > Varname N Min Max Mean SD > xxxx x x x x x > xxx x x x x x > .... >This looks very much like the output of the "describe" function in the prettyR package. You can specify which summary stats you want (even roll your own).> 2. Delete some variables from a data frame or exclude variables > from beeing analyzed. > > 3. Create a text file / redirect the terminal output to a > file (it is supposed to be easy, but I could not find a solution)? >sink("myoutputfile.txt") do.your.stuff(...) sink() OR maybe you would enjoy "htmlize" or "R2html" in the prettyR package.> 4. Create a latex/dvi file >You do this with Sweave, I think.> 5. Create a PDF file (can that be done within R?) >For plots, the pdf device. Jim
At 7:05 PM +0100 3/17/08, ukoenig at med.uni-marburg.de wrote:>Dear list readers, >I want to: > >1. Get a table of basic descriptive statistics for my variables >with the variable names one below the other >like SPSS descriptive statistics: > >Varname N Min Max Mean SD >xxxx x x x x x >xxx x x x x x >....Udo, To limit the number of columns of describe, set skew=FALSE to delete variables from the description, do so in the call to describe e.g., df <- as.data.frame(matrix( rnorm(1000), ncol=100)) describe(df[c(1:10,20:30)],skew=FALSE) describe(df[-c(10:98)],range=FALSE,skew=FALSE) to print the output into LaTeX, look at the the Sweave package. Bill>2. Delete some variables from a data frame or exclude variables >from beeing analyzed. > >3. Create a text file / redirect the terminal output to a >file (it is supposed to be easy, but I could not find a solution)? > >4. Create a latex/dvi file > >5. Create a PDF file (can that be done within R?) > >This code took me some ours (I am new to R). What do you think about >my solution? Are there easier ones? Comments welcome! Sorry if >my questions look very basic and I hope they are understandable. > > >#here is my code >setwd("c:\\temp") #set working directory > >library(psych) >library(xtable) >library(tools) > >#Create example data frame with many variables >df <- as.data.frame(matrix( rnorm(1000), ncol=100)) > >df <- describe(df) #describe from lib psych > >#How Can I create a text file with the output of "describe"? >#The "save as" function from the GUI saves >#only last part of the output to a text file (the first part is cut) > > >#delete some variables. Or can I exclude variables from >#beeing analyzed by "describe" to reduce the numer of cols? >df$kurtosis <- df$skew <- df$se <- NULL > >x.df <- xtable(df) #Create an xtable object >print(x.df, tabular.environment = "longtable", , floating = FALSE, > file="c:\\temp\\descript.tex") #create latex file > ># produce dvi file in working directory (from tools) >texi2dvi("c:\\temp\\descript.tex") #the lines below have to be added > >#Problem: these lines have to be added "manually" to the latex >#before calling "texi2dvi": > >#\documentclass{article} >#\usepackage{longtable} ># Latex code >#\end{document > > >#Can I prodcuce a PDF file within R? > > >Thanks a lot in advance! >Udo > >______________________________________________ >R-help at 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.-- William Revelle http://personality-project.org/revelle.html Professor http://personality-project.org/personality.html Department of Psychology http://www.wcas.northwestern.edu/psych/ Northwestern University http://www.northwestern.edu/ Use R for statistics: http://personality-project.org/r
Frank E Harrell Jr
2008-Mar-18 12:00 UTC
[R] Table of basic descriptive statistics like SPSS
William Revelle wrote:> At 7:05 PM +0100 3/17/08, ukoenig at med.uni-marburg.de wrote: >> Dear list readers, >> I want to: >> >> 1. Get a table of basic descriptive statistics for my variables >> with the variable names one below the other >> like SPSS descriptive statistics: >> >> Varname N Min Max Mean SD >> xxxx x x x x x >> xxx x x x x x >> .... > > Udo, > To limit the number of columns of describe, set skew=FALSEThe describe function in the Hmisc package does not have a skew option. Please list the relevant package when talking about describe. Thanks Frank> > to delete variables from the description, do so in the call to describe > > e.g., > df <- as.data.frame(matrix( rnorm(1000), ncol=100)) > describe(df[c(1:10,20:30)],skew=FALSE) > describe(df[-c(10:98)],range=FALSE,skew=FALSE) > > to print the output into LaTeX, look at the the Sweave package. > > > Bill > >> 2. Delete some variables from a data frame or exclude variables >>from beeing analyzed. >> 3. Create a text file / redirect the terminal output to a >> file (it is supposed to be easy, but I could not find a solution)? >> >> 4. Create a latex/dvi file >> >> 5. Create a PDF file (can that be done within R?) >> >> This code took me some ours (I am new to R). What do you think about >> my solution? Are there easier ones? Comments welcome! Sorry if >> my questions look very basic and I hope they are understandable. >> >> >> #here is my code >> setwd("c:\\temp") #set working directory >> >> library(psych) >> library(xtable) >> library(tools) >> >> #Create example data frame with many variables >> df <- as.data.frame(matrix( rnorm(1000), ncol=100)) >> >> df <- describe(df) #describe from lib psych >> >> #How Can I create a text file with the output of "describe"? >> #The "save as" function from the GUI saves >> #only last part of the output to a text file (the first part is cut) >> >> >> #delete some variables. Or can I exclude variables from >> #beeing analyzed by "describe" to reduce the numer of cols? >> df$kurtosis <- df$skew <- df$se <- NULL >> >> x.df <- xtable(df) #Create an xtable object >> print(x.df, tabular.environment = "longtable", , floating = FALSE, >> file="c:\\temp\\descript.tex") #create latex file >> >> # produce dvi file in working directory (from tools) >> texi2dvi("c:\\temp\\descript.tex") #the lines below have to be added >> >> #Problem: these lines have to be added "manually" to the latex >> #before calling "texi2dvi": >> >> #\documentclass{article} >> #\usepackage{longtable} >> # Latex code >> #\end{document >> >> >> #Can I prodcuce a PDF file within R? >> >> >> Thanks a lot in advance! >> Udo >> >> ______________________________________________ >> R-help at 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. > >-- Frank E Harrell Jr Professor and Chair School of Medicine Department of Biostatistics Vanderbilt University
Frank E Harrell Jr
2008-Mar-18 18:45 UTC
[R] [PS] Re: Table of basic descriptive statistics like SPSS
Ben Fairbank wrote:> "tiny high-resolution histograms" > > Could you say a bit more on that topic? How achieved? Wherelatex(describe()) uses LaTeX's picture environment after binning into 101 bins.> documented? Similar to Tufte's sparklines?yes, a bit See the link from http://biostat.mc.vanderbilt.edu/Hmisc Frank> > Maybe the list as a whole would be interested. > > Thank you, > > Ben > > If you use LaTeX you'll get more (and better) output including tiny > high-resolution histograms of continuous variables. > > Frank > >-- Frank E Harrell Jr Professor and Chair School of Medicine Department of Biostatistics Vanderbilt University
Just to forestall confusion amongst those who would like to use one of the functions called "describe"... Hmisc package - describe numeric name count of observations count of missing values count of unique values mean seven quantiles five lowest and highest values discrete (factor or numeric with <= 10 unique values) - as for numeric, but no mean, quantiles or low/high values and including a frequency/percent display for each value. psych package - describe item name item number number of valid cases mean standard deviation median mad: median absolute deviation (from the median) minimum maximum skew (optional) kurtosis (optional) standard error prettyR package - describe numeric name mean median var sd valid.n the above are the defaults - the user can specify the name(s) of any function(s) as an argument to the function to customize the display. factor name count for each value percent for each value modal value count of missing values logical name count of FALSE count of TRUE percent of TRUE count of missing values Have fun Jim