R语言实战之描述性统计分析

R语言 描述性统计分析1 以下为学习《R语言实战》笔记。 1.方法 对于基础安装,summary()提供最大值、最小值、四分位数和数值型变量的均值,及因子向量和逻辑向量的频率统计 Hmisc包的describe()可返回变量和观测的数量、缺失值和唯一值得数目、平均数、分位数,及五个最大的值和五个最小的值。 pastecs包的stat.desc(),使用格式:stat.desc(x, basic=TRUE, de... 阅读详情

R语言实战之描述性统计分析

下面展示一些 描述性统计分析的R代码语言。

vars <- c("mpg","hp","wt")
head(mtcars[vars])

#创造一个统计的函数列表
#通过sapply()计算描述性统计变量(包括偏度和峰度)
mystats <- function(x,na.omit = FALSE){
  if(na.omit)
    x <- x[!is.na(x)]
  m <- mean(x)
  n <- length(x)
  s <- sd(x)
  skew <- sum((x-m)^3/s^3)/n
  kurt <- sum((x-m)^4/s^4)/n - 3
  return(c(n=n, mean = m, stdev = s, skew = skew, kurtosis = kurt))
}
sapply(mtcars[vars],mystats)
#sapply(mtcars[myvars],mystats,na.omit=TRUE)单纯忽略缺失值

library(Hmisc)
describe(mtcars[vars])
#通过pastecs包中的stat.desc()函数计算描述性统计量
library(pastecs)
stat.desc(mtcars[vars])

library(psych)
describe(mtcars[vars])

#分组计算描述性统计量
aggregate(mtcars[vars], by = list(am = mtcars$am), mean)
#aggregate()允许在每次调用中使用平均数、标准差这样的单返回值函数。


#使用by()分组计算描述性统计量
dstats <- function(x)sapply(x,mystats)
vars <- c("mpg","hp","wt")
by(mtcars[vars],mtcars$am,dstats)

#使用doBy包中的summaryBy()分组计算概述统计量
library(doBy)
summaryBy(mpg + hp + wt ~ am, data = mtcars, FUN = mystats)

#使用psych包分组计算概述统计量
library(psych)
describeBy(mtcars[vars],mtcars$am)
#不允许指定任意函数,所以普适性较低
#psych包中的describeBy()函数可计算和describe()相同的描述性统计量,只按照一个或多个分组的变量分层。

#对比分析
library(doBy)
summaryBy(mpg+hp+wt~am,data=mtcars,FUN=mystats)
library(psych)
describeBy(mtcars[vars],list(am=mtcars$am))


#使用reshape包分组计算概述统计量
library(reshape)
dstats1 <- function(x)(c(n = length(x), mean = mean(x), sd = sd(x)))
dfm <- melt(mtcars, measure.vars = vars, id.vars = c("am","cyl"))
cast(dfm, am + cyl + variable ~ . , dstats1)
> vars <- c("mpg","hp","wt")
> head(mtcars[vars])
                   mpg  hp   wt
Mazda RX4         21.0 110 2.62
Mazda RX4 Wag     21.0 110 2.88
Datsun 710        22.8  93 2.32
Hornet 4 Drive    21.4 110 3.21
Hornet Sportabout 18.7 175 3.44
Valiant           18.1 105 3.46
> 
> #创造一个统计的函数列表
> #通过sapply()计算描述性统计变量(包括偏度和峰度)
> mystats <- function(x,na.omit = FALSE){
+   if(na.omit)
+     x <- x[!is.na(x)]
+   m <- mean(x)
+   n <- length(x)
+   s <- sd(x)
+   skew <- sum((x-m)^3/s^3)/n
+   kurt <- sum((x-m)^4/s^4)/n - 3
+   return(c(n=n, mean = m, stdev = s, skew = skew, kurtosis = kurt))
+ }
> sapply(mtcars[vars],mystats)
            mpg      hp      wt
n        32.000  32.000 32.0000
mean     20.091 146.688  3.2172
stdev     6.027  68.563  0.9785
skew      0.611   0.726  0.4231
kurtosis -0.373  -0.136 -0.0227
> #sapply(mtcars[myvars],mystats,na.omit=TRUE)单纯忽略缺失值
> 
> library(Hmisc)
> describe(mtcars[vars])
    vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    se
mpg    1 32  20.09  6.03  19.20   19.70  5.41 10.40  33.90  23.50 0.61    -0.37  1.07
hp     2 32 146.69 68.56 123.00  141.19 77.10 52.00 335.00 283.00 0.73    -0.14 12.12
wt     3 32   3.22  0.98   3.33    3.15  0.77  1.51   5.42   3.91 0.42    -0.02  0.17
> #通过pastecs包中的stat.desc()函数计算描述性统计量
> library(pastecs)
> stat.desc(mtcars[vars])
                mpg       hp      wt
nbr.val       32.00   32.000  32.000
nbr.null       0.00    0.000   0.000
nbr.na         0.00    0.000   0.000
min           10.40   52.000   1.513
max           33.90  335.000   5.424
range         23.50  283.000   3.911
sum          642.90 4694.000 102.952
median        19.20  123.000   3.325
mean          20.09  146.688   3.217
SE.mean        1.07   12.120   0.173
CI.mean.0.95   2.17   24.720   0.353
var           36.32 4700.867   0.957
std.dev        6.03   68.563   0.978
coef.var       0.30    0.467   0.304
> 
> library(psych)
> describe(mtcars[vars])
    vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    se
mpg    1 32  20.09  6.03  19.20   19.70  5.41 10.40  33.90  23.50 0.61    -0.37  1.07
hp     2 32 146.69 68.56 123.00  141.19 77.10 52.00 335.00 283.00 0.73    -0.14 12.12
wt     3 32   3.22  0.98   3.33    3.15  0.77  1.51   5.42   3.91 0.42    -0.02  0.17
> 
> #分组计算描述性统计量
> aggregate(mtcars[vars], by = list(am = mtcars$am), mean)
  am  mpg  hp   wt
1  0 17.1 160 3.77
2  1 24.4 127 2.41
> #aggregate()允许在每次调用中使用平均数、标准差这样的单返回值函数。
> 
> 
> #使用by()分组计算描述性统计量
> dstats <- function(x)sapply(x,mystats)
> vars <- c("mpg","hp","wt")
> by(mtcars[vars],mtcars$am,dstats)
mtcars$am: 0
            mpg       hp     wt
n        19.000  19.0000 19.000
mean     17.147 160.2632  3.769
stdev     3.834  53.9082  0.777
skew      0.014  -0.0142  0.976
kurtosis -0.803  -1.2097  0.142
----------------------------------------------------------------------------- 
mtcars$am: 1
             mpg      hp     wt
n        13.0000  13.000 13.000
mean     24.3923 126.846  2.411
stdev     6.1665  84.062  0.617
skew      0.0526   1.360  0.210
kurtosis -1.4554   0.563 -1.174
> 
> #使用doBy包中的summaryBy()分组计算概述统计量
> library(doBy)
> summaryBy(mpg + hp + wt ~ am, data = mtcars, FUN = mystats)
  am mpg.n mpg.mean mpg.stdev mpg.skew mpg.kurtosis hp.n hp.mean hp.stdev hp.skew hp.kurtosis wt.n
1  0    19     17.1      3.83   0.0140       -0.803   19     160     53.9 -0.0142      -1.210   19
2  1    13     24.4      6.17   0.0526       -1.455   13     127     84.1  1.3599       0.563   13
  wt.mean wt.stdev wt.skew wt.kurtosis
1    3.77    0.777   0.976       0.142
2    2.41    0.617   0.210      -1.174
> 
> #使用psych包分组计算概述统计量
> library(psych)
> describeBy(mtcars[vars],mtcars$am)

 Descriptive statistics by group 
group: 0
    vars  n   mean    sd median trimmed   mad   min    max  range  skew kurtosis    se
mpg    1 19  17.15  3.83  17.30   17.12  3.11 10.40  24.40  14.00  0.01    -0.80  0.88
hp     2 19 160.26 53.91 175.00  161.06 77.10 62.00 245.00 183.00 -0.01    -1.21 12.37
wt     3 19   3.77  0.78   3.52    3.75  0.45  2.46   5.42   2.96  0.98     0.14  0.18
----------------------------------------------------------------------------- 
group: 1
    vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    se
mpg    1 13  24.39  6.17  22.80   24.38  6.67 15.00  33.90  18.90 0.05    -1.46  1.71
hp     2 13 126.85 84.06 109.00  114.73 63.75 52.00 335.00 283.00 1.36     0.56 23.31
wt     3 13   2.41  0.62   2.32    2.39  0.68  1.51   3.57   2.06 0.21    -1.17  0.17
> #不允许指定任意函数,所以普适性较低
> #psych包中的describeBy()函数可计算和describe()相同的描述性统计量,只按照一个或多个分组的变量分层。
> 
> #对比分析
> library(doBy)
> summaryBy(mpg+hp+wt~am,data=mtcars,FUN=mystats)
  am mpg.n mpg.mean mpg.stdev mpg.skew mpg.kurtosis hp.n hp.mean hp.stdev hp.skew hp.kurtosis wt.n
1  0    19     17.1      3.83   0.0140       -0.803   19     160     53.9 -0.0142      -1.210   19
2  1    13     24.4      6.17   0.0526       -1.455   13     127     84.1  1.3599       0.563   13
  wt.mean wt.stdev wt.skew wt.kurtosis
1    3.77    0.777   0.976       0.142
2    2.41    0.617   0.210      -1.174
> library(psych)
> describeBy(mtcars[vars],list(am=mtcars$am))

 Descriptive statistics by group 
am: 0
    vars  n   mean    sd median trimmed   mad   min    max  range  skew kurtosis    se
mpg    1 19  17.15  3.83  17.30   17.12  3.11 10.40  24.40  14.00  0.01    -0.80  0.88
hp     2 19 160.26 53.91 175.00  161.06 77.10 62.00 245.00 183.00 -0.01    -1.21 12.37
wt     3 19   3.77  0.78   3.52    3.75  0.45  2.46   5.42   2.96  0.98     0.14  0.18
----------------------------------------------------------------------------- 
am: 1
    vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    se
mpg    1 13  24.39  6.17  22.80   24.38  6.67 15.00  33.90  18.90 0.05    -1.46  1.71
hp     2 13 126.85 84.06 109.00  114.73 63.75 52.00 335.00 283.00 1.36     0.56 23.31
wt     3 13   2.41  0.62   2.32    2.39  0.68  1.51   3.57   2.06 0.21    -1.17  0.17
> 
> 
> #使用reshape包分组计算概述统计量
> library(reshape)
> dstats1 <- function(x)(c(n = length(x), mean = mean(x), sd = sd(x)))
> dfm <- melt(mtcars, measure.vars = vars, id.vars = c("am","cyl"))
> cast(dfm, am + cyl + variable ~ . , dstats1)
   am cyl variable  n   mean     sd
1   0   4      mpg  3  22.90  1.453
2   0   4       hp  3  84.67 19.655
3   0   4       wt  3   2.94  0.408
4   0   6      mpg  4  19.12  1.632
5   0   6       hp  4 115.25  9.179
6   0   6       wt  4   3.39  0.116
7   0   8      mpg 12  15.05  2.774
8   0   8       hp 12 194.17 33.360
9   0   8       wt 12   4.10  0.768
10  1   4      mpg  8  28.07  4.484
11  1   4       hp  8  81.88 22.655
12  1   4       wt  8   2.04  0.409
13  1   6      mpg  3  20.57  0.751
14  1   6       hp  3 131.67 37.528
15  1   6       wt  3   2.75  0.128
16  1   8      mpg  2  15.40  0.566
17  1   8       hp  2 299.50 50.205
18  1   8       wt  2   3.37  0.283

以上,共勉,有问题欢迎评论~

R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息、数值数据的描述性统计(Numerical data)、离散型数据的描述性统计(Categorical) 阅读详情

相关推荐

R语言描述性统计分析实战:从统计量选择到可复用函数

描述性统计是数据分析的基础环节,涉及连续变量分布诊断、分类变量频数汇总及缺失值处理。在R语言中,通过dplyr和data.table实现分组汇总,结合ggplot2可视化,可高效生成规范统计表。合理选择均值、中位数等统计量,并封装可复用函数,能显著提升分析效率与报告质量,适用于学术研究、商业分析等场景。

weixin_33883104的博客 211

R:R语言实战学习一(基本统计分析)

本学期的课程R语言实战只学了前六章的皮毛,实际上后面的知识用的更多,前面的是基础,这次学习第七章:基本统计分析。

weixin_73362123的博客 959

R语言描述性统计分析实战:从summary到psych与可视化避坑指南

描述性统计分析是数据科学的基础环节,通过均值、标准差、偏度、峰度等统计量快速摸清数据分布特征。在R语言中,summary()、sapply()及psych::describe()等函数可高效计算这些指标,帮助识别缺失值、异常值与共线性问题。其技术价值在于为后续建模提供可靠地基,避免因数据质量问题导致模型失效。典型应用场景包括数据清洗、探索性分析及报告生成。本文围绕R语言环境,系统讲解基础函数三件套、第三方包对比、分组统计与ggplot2可视化搭配,并附自动化脚本模板,助你构建可复现的描述性统计流程。

weixin_32325225的博客 246

R语言笔记之语法篇

R语言基础之语法 分支结构Ifelse和 Ifelse函数 循环结构 for循环 while循环 repeat循环 breaknext 函数和包 1函数 1创建 2查看函数代码 3导入R文件 2包的安装和加载 1包的安装 2包的加载 向量化计算 1普通的加减乘除 2apply家族 1 applyxMARGIN2 2 lapply列表函数名函数其他参数 3 sapply列表函数名函数其他参数 4

tonydandelion2014的博客 1万+

R语言描述性统计分析实战:从基础统计量到分组汇总与可视化

数据分析的第一步是真正理解数据分布,而描述性统计正是量化数据特征的基础工具。R语言作为数据科学领域的高频使用语言,提供了从基础统计量到分组汇总的完整解决方案。本文围绕均值、中位数、分位数等核心指标,系统讲解缺失值处理、quantile函数的多种算法差异,以及tapply、aggregate与dplyr在分组统计中的适用场景,并结合直方图、箱线图、散点图矩阵等可视化手段,帮助读者避开常见的数据坑点,构建一套可复用的统计分析流程。文章兼顾技术原理与工程实践,适合数据分析初学者快速上手,也适合有经验的从业者梳理统

weixin_33507732的博客 250

Axure rp9 中继器新建表格

Axure rp9 中继器新建表格

weixin_49295490的博客 1652

R语言实战之基本统计分析

原文出处:https://www.jianshu.com/p/90ed27810474 第7章 基本统计分析 在数据被组织成合适的形式后,可以使用图形探索数据,接下来是使用数值描述每个变量的分布,然后则是两两探索所选择变量之间的关系。 本章将评述用于生成基本的描述性统计量和推断统计量的R函数。 7.1 描述性统计分析 本节介绍分析连续型变量中心趋势、变化性和分布性的方法。 使用第1章中Mo...

SL_World的博客 8244

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

qq_36773158的博客 4650

R语言描述性统计分析

1. 简单描述 1.1 数值变量 summary() 函数 summary()函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计。 其格式为: summary(data1$var1) Hmisc包中的describe()函数 Hmisc包中的describe()函数可返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数,以及五个最大的值和五个最小的值。 其格式为 library(Hmisc) describe(data1$var1) pastecs包

dataxc的博客 1万+

5G NR LDPC码(2)—— 从基图到速率匹配:解码5G高速数据信道的标准化设计

本文深入解析了5G NR LDPC码的标准化设计流程。从作为核心骨架的基图(BG1/BG2)出发,详细阐述了其如何通过扩展因子Z灵活生成实际校验矩阵,并协同传输块大小计算与分段策略。文章重点剖析了基于循环缓存和冗余版本的速率匹配机制,以及其如何高效支撑增量冗余混合自动重传请求,从而确保5G高速数据信道在复杂环境下的可靠与高效传输。

weixin_29206669的博客 272

手把手教你完成YOLOv9 PyQt5目标检测界面搭建,实现图片检测、视频检测、摄像头检测,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv9与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2657

视频教程-R语言之描述性统计分析实战视频课程-其他

R语言之描述性统计分析实战视频课程 WOT峰会讲师,中国R语言大会讲师,数据...

weixin_29485847的博客 226

点云最小二乘法拟合曲线

文章目录一、引言 一、引言

dayuhaitang1的博客 2735

R语言实战 07-描述性统计分析

文章目录1. 描述性统计分析 1. 描述性统计分析 描述性统计量分析:包括平均数,方差,极差,最大值,最小值等,属于概率论与数理统计的简单内容。 # 每加仑汽油行驶英里数(mpg) 、马力(hp)和车重(wt) # 变速箱类型(am) 汽缸数(cyl) mtcars # 所用数据 summary(mtcars[c("mpg","hp","wt")]) # summmary() 得到数据的统计量 # length()、 range()、quantile()/mean()、sd()、var()

hac_kill_you的博客 1161

YOLOv13保姆级教程+AKConv模块:可变形卷积+自适应核优化,mAP提升3.23%,召回率&mAP50~95显著提升(论文涨点模块已验证)

本文介绍了一种改进的YOLOv13-AKConv模型,通过引入AKConv模块显著提升了目标检测性能。实验结果表明,优化后的模型(绿色曲线)相比原模型(蓝色曲线)在mAP指标上提升了3.23个点,同时召回率、mAP50-95等指标均有明显提升。作者详细阐述了模型移植过程,包括创建yolov13-AKConv.yaml配置文件,修改tasks.py和modules/init.py文件,以及实现AKConv模块的核心代码。该模块采用可变形卷积思想,通过动态生成采样点位置来增强特征提取能力,并集成了BN和SiLU

FJN110的博客 2611

OP-TEE虚拟化支持详解

OP-TEE虚拟化支持解析 OP-TEE提供实验性虚拟化方案,支持多虚拟机共享安全执行环境。核心特性包括: 配置选项:CFG_VIRTUALIZATION启用虚拟化,CFG_VIRT_GUEST_COUNT限制虚拟机数量并分配均等内存资源; Hypervisor协作:需实现虚拟机生命周期通知、SMC参数转换、内存固定等关键协议; 当前限制:仅支持Armv8架构,硬件资源共享有限,采用静态内存配额机制; 架构实现:通过MMU分区切换和扩展内存分配器实现多租户隔离,Nexus核心层管理虚拟机上下文。该方案适用于

Linux内核架构师 109

R语言实战-统计分析基础-描述性统计1-summary

数据统计分析的第一步就是对数据的描述性统计,R语言令人头疼的是,提供这项服务的实在太多了 1、summary函数 1 > data("mtcars") 2 > force(mtcars) 3 mpg cyl disp hp drat wt qsec vs am gear carb 4 Mazda RX4 ...

weixin_30420305的博客 3020

CasADi - 最优控制开源 Python/MATLAB 库

CasADi 是一款开源软件工具,用于数值优化,特别是最优控制(即涉及微分方程的优化)。该项目由 Joel Andersson 和 Joris Gillis 在鲁汶工程大学工程优化中心 (OPTEC) 在读博士生在 Moritz Diehl 的指导下发起。本文档旨在简要介绍 CasADi。

机器人控制与仿真应用 7935

R语言实战-统计分析基础-描述性统计3-pastecs-stat.desc

1 > library(pastecs) 2 Warning message: 3 程辑包‘pastecs’是用R版本3.5.3 来建造的 4 > stat.desc(mtcars[vars]) 5 mpg hp wt 6 nbr.val 32.0000000 3...

weixin_30832143的博客 1447

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

R语言实战 - 基本统计分析(1)- 描述性统计分析

> vars <- c("mpg", "hp", "wt") > head(mtcars[vars]) mpg hp wt Mazda RX4 21.0 110 2.620 Mazda RX4 Wag 21.0 110 2.875 Datsun 710 22.8 93 2.320 ...

weixin_30654583的博客 965

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

R语言之描述性统计分析实战视频课程-谢佳标-专题视频课程

通过利用R语言进行数据的探索性分析,熟练运用R语言进行数据的位置度量、离散度量、列联表及相关性等的数据分析需求。

jiabiao1602的专栏 352

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

R语言实战-统计分析基础-描述性统计2-sapply

2、sapply函数 这个函数是对lapply函数的一个封装 主要的作用是“Apply a Function over a List or Vector”,即:对列表或者向量应用函数 1 > data("mtcars") 2 > vars<-c('mpg','hp','wt') 3 > mySummary<- function(x,na.om...

weixin_30423977的博客 550

R语言实战-统计分析基础-描述性统计3-Hmisc-describe

1 > describe(mtcars[vars]) 2 mtcars[vars] 3 4 3 Variables 32 Observations 5 -------------------------------------------------------------------------- 6 mpg 7 n mi...

weixin_30664051的博客 1040

R语言题目及参考答案(2)

所有题目的参考答案在我的资源里面:R语言与统计性描述题目及参考答案 1.有一个数据框,其生成代码如下, Ozone <- c(41, 36, 12, 18, NA, 28) Solar.R <- c(190, 118, 149, 313, NA, NA) wind <- c(7.4, 8.0, 12.6, 11.5, 14.3, 14.9) Temp <- c(67, 82, 74, 62, 86, 66) date <-c(“1997/05/01”,“1997/05/02”,

皮小孩的博客 8490

R语言实战-统计分析基础-描述性统计4-psych-describe

1 程辑包‘psych’是用R版本3.5.3 来建造的 2 > describe(mtcars[vars]) 3 vars n mean sd median trimmed mad min max range skew 4 mpg 1 32 20.09 6.03 19.20 19.70 5.41 10.40 33.9...

weixin_30415113的博客 2140

r语言descstats_R语言实战-统计分析基础-描述性统计3-pastecs-stat.desc

1 > library(pastecs)2 Warning message:3 程辑包‘pastecs’是用R版本3.5.3 来建造的4 > stat.desc(mtcars[vars])5 mpg hp wt6 nbr.val 32.0000000 32.0000000 32.00000...

weixin_29558841的博客 1073
上一篇: R语言实战之如何对数据进行缺失值处理
下一篇: 周志华西瓜书学习笔记(一)
Math_is_hard.
博客等级 码龄6年 10粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值