作为R的新手,我想展示我的数据集的不同摘要。使用简单的
summary(myData)
只给出每列的每个变量的频率,这不是有用的。
我可以做些什么来显示相同的表格摘要,但是除了频率以外的其他内容?例如,百分比?
我的所有列都包含有限的离散变量。
答案 0 :(得分:2)
要获得包含频率的快速摘要,请查看Hmisc包中的describe
:describe(myData)
您还可以使用sapply
在数据框中的每个分类变量上运行prop.table
函数(如@RichardScriven建议的那样)。例如:
data(Arthritis, package="vcd") # Data frame with some categorical columns
# Function to identify and summarize categorical variables in a data frame.
# If some of your categorical columns have a large number of categories,
# you can modify this function to only summarize columns with, say, 10 or
# fewer categories, or something like that.
catSummary = function(df) {
# Identify categorical variables
catVars = names(df)[sapply(df, function(var) {is.factor(var)|is.character(var)})]
# Make summary tables
sapply(df[,catVars], function(x) {
round(prop.table(table(x, dnn=NULL))*100,1)
})
}
# Run the summary function
catSummary(Arthritis)
$Treatment
Placebo Treated
51.2 48.8
$Sex
Female Male
70.2 29.8
$Improved
None Some Marked
50.0 16.7 33.3