📜  如何在 R 中创建汇总表?

📅  最后修改于: 2022-05-13 01:54:23.557000             🧑  作者: Mango

如何在 R 中创建汇总表?

在本文中,我们将讨论如何在 R 编程语言中创建汇总表。

汇总表包含以下信息:

  • vars:代表列号
  • n:代表有效案例的数量
  • mean:表示平均值
  • 中位数:表示中位数
  • trimmed :表示修剪后的平均值
  • mad :表示中值绝对偏差
  • min : 表示最小值
  • max : 表示最大值
  • range :表示值的范围
  • skew :表示偏度
  • 峰度:代表峰度
  • se : 代表标准误差

初始数据框:

让我们创建一个 5 行 4 列的数据框。

R
# create dataframe
data = data.frame(id=c(1, 2, 3, 4, 5), 
                  subjects=c("java", "java", "python", 
                             "python", "R"), 
                  marks=c(90, 89, 77, 89, 89),
                  percentage=c(78, 89, 66, 78, 90))
  
# display
data


R
# load the library
library(psych) 
  
# create dataframe
data=data.frame(id=c(1,2,3,4,5),
                subjects=c("java","java","python","python","R"),
                marks=c(90,89,77,89,89),
                percentage=c(78,89,66,78,90))
  
# get the summary table
describe(data)


R
# load the library
library(psych)
  
# create dataframe
data = data.frame(id=c(1, 2, 3, 4, 5), 
                  subjects=c("java", "java", "python", "python", "R"),
                  marks=c(90, 89, 77, 89, 89), 
                  percentage=c(78, 89, 66, 78, 90))
  
  
# get the summary table
describe(data, fast=TRUE)


R
# load the library
library(psych) 
  
# create dataframe
data=data.frame(id=c(1,2,3,4,5), 
                subjects=c("java","java","python","python","R"), 
                marks=c(90,89,77,89,89),
                percentage=c(78,89,66,78,90))
  
# get the summary table for subjects and percentage
describe(data[ , c('subjects', 'percentage')],fast=TRUE)


R
# load the library
library(psych) 
  
# create dataframe
data=data.frame(id=c(1,2,3,4,5), 
                subjects=c("java","java","python","python","R"),
                marks=c(90,89,77,89,89),
                percentage=c(78,89,66,78,90))
  
# get the summary table for group with
# subjects to percentage
describeBy(data, group=data$subjects, fast=TRUE)


输出:

方法一:对数据框使用 Describe()函数

在这种创建汇总表的方法中,用户需要在当前工作的 R 控制台中导入并安装 psych 包,然后调用该包的 describe()函数。此函数应以给定数据框的名称作为参数传递,以获取汇总表,以返回在 R 编程语言中作为其参数传递的数据。

在 R 控制台中安装和导入 psych 包的语法:

install.package("psych")
library("psych")

描述函数:

此函数为经典心理测量学中的量表构建和项目分析提供了最有用的功能。

句法:

describe(dataframe)

参数:

  • 数据框:是输入数据框

例子:

在这个例子中,我们将简单地使用 describe()函数来获取 R 语言中 5 行 4 列的给定数据框的摘要。

R

# load the library
library(psych) 
  
# create dataframe
data=data.frame(id=c(1,2,3,4,5),
                subjects=c("java","java","python","python","R"),
                marks=c(90,89,77,89,89),
                percentage=c(78,89,66,78,90))
  
# get the summary table
describe(data)

输出:

方法2:使用带有fast参数的Describe()

在这种方法中,用户必须使用 describe()函数的附加参数。如果我们只想获取 vars、n、mean、sd、min、max、range、see,然后我们必须指定设置为 true 的 fast 参数,以获取 r 编程语言中给定数据的摘要。

语法

describe(dataframe,fast=TRUE)

例子:

在这个例子中,我们将描述数据框来显示平均值、最小值、最大值、范围和标准偏差。

R

# load the library
library(psych)
  
# create dataframe
data = data.frame(id=c(1, 2, 3, 4, 5), 
                  subjects=c("java", "java", "python", "python", "R"),
                  marks=c(90, 89, 77, 89, 89), 
                  percentage=c(78, 89, 66, 78, 90))
  
  
# get the summary table
describe(data, fast=TRUE)

输出:

方法3:创建特定列的汇总表

在这种创建特定列的汇总表的方法中,用户必须创建列名的向量并将其作为 describe函数的参数传递,以从 R 编程中的数据框中获取提供的列名的摘要语言。

句法:

describe(dataframe[ , c('column1', 'column2',........,'column n')],fast=TRUE)

示例

在此示例中,我们将使用 R 语言中的 describe函数获取主题和百分比的汇总表。

R

# load the library
library(psych) 
  
# create dataframe
data=data.frame(id=c(1,2,3,4,5), 
                subjects=c("java","java","python","python","R"), 
                marks=c(90,89,77,89,89),
                percentage=c(78,89,66,78,90))
  
# get the summary table for subjects and percentage
describe(data[ , c('subjects', 'percentage')],fast=TRUE)

输出:

方法四:使用 describe函数的 group 参数

在这种方法中,用户可以通过使用 describe()函数将汇总表与另一列分组来获取汇总表,只需使用 group 参数并使用需要在 r 语言中汇总的列名组对其进行初始化。

句法:

describeBy(dataframe, group=dataframe$column_name, fast=TRUE)

在哪里

  • group:就是根据这个列对列进行分组

示例

在此示例中,我们通过使用 R 语言中 describe()函数的 group 参数将主题与百分比进行分组来获取汇总表。

R

# load the library
library(psych) 
  
# create dataframe
data=data.frame(id=c(1,2,3,4,5), 
                subjects=c("java","java","python","python","R"),
                marks=c(90,89,77,89,89),
                percentage=c(78,89,66,78,90))
  
# get the summary table for group with
# subjects to percentage
describeBy(data, group=data$subjects, fast=TRUE)

输出: