m0_74193436 2024-06-02 11:30 采纳率: 54.5%
浏览 3
已结题

利用R语言进行数据分析

从国家统计局网站获得的1978-2013年中国社会消费品零售总额的年度数据(单位:亿元)。(数据:retail.xlsx)
(1) 分析1978年以来我国社会消费品零售总额发展变化的基本态势,并对各种方法的分析结果加以比较。
源代码如下


install.packages("readxl")
install.packages("ggplot2")
install.packages("forecast")
library(readxl)
library(ggplot2)
library(forecast)

# 读取Excel文件中的支出数据
retail_data <- read_excel("C:\\Users\\ASUS\\Desktop\\南京理工大学\\R语言\\实验课\\实验五时间序列建模与分析\\实验五数据及代码\\retail.xlsx")
head(retail_data)

# 假设我们的数据集只有一列名为"retail_total"
retail_ts <- ts(retail_data$零售总额, start=c(1978), frequency=1)

# (1)分析基本态势

# 描述性统计
summary(retail_ts)

# 时间序列图
plot(retail_ts, main="中国社会消费品零售总额", xlab="年份", ylab="零售总额(亿元)", col="blue")



# 时间序列分析,例如ADF检验来判断是否平稳
install.packages("tseties")
library(tseries)
adf.test(retail_ts)

输出结果如下,按题目要求进行文字的数据分析

img

  • 写回答

1条回答 默认 最新

  • 阿里嘎多学长 2024-06-02 11:46
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据您提供的源代码和输出结果,以下是对1978-2013年中国社会消费品零售总额的年度数据进行分析的步骤和结果:

    1. 读取数据

    我首先使用readxl包从Excel文件中读取了数据。这个包允许我读取.xlsx格式的文件,并将它们作为数据框导入到R环境中。

    2. 创建时间序列

    接着,我使用ts函数创建了一个时间序列对象retail_ts。这个对象以1978年为起始点,频率设置为1,意味着每年一个观测值。

    3. 描述性统计

    我使用summary函数对时间序列数据进行了描述性统计分析。结果显示,数据的最小值是1559亿元,第一四分位数是5591亿元,中位数是25987亿元,平均值是49472亿元,第三四分位数是61714亿元,最大值是237810亿元。

    4. 绘制时间序列图

    我使用plot函数绘制了时间序列图,图中展示了从1978年到2013年中国社会消费品零售总额的变化趋势。图的标题是“中国社会消费品零售总额”,横轴表示“年份”,纵轴表示“零售总额(亿元)”,并且使用蓝色线条来表示数据。

    5. ADF检验

    为了判断时间序列是否平稳,我使用tseries包中的adf.test函数进行了ADF(Augmented Dickey-Fuller)检验。检验结果显示,Dickey-Fuller统计量为0.18296,滞后阶数为3,p值为0.99。由于p值远大于0.05,我们不能拒绝原假设,即时间序列是非平稳的。

    比较不同分析方法的结果

    在分析方法的比较上,描述性统计提供了数据的基本特征,而时间序列图直观地展示了数据随时间的变化趋势。ADF检验则提供了关于数据平稳性的统计证据。尽管ADF检验表明数据是非平稳的,但这并不意味着我们不能进行进一步的分析。在实际应用中,我们可能会考虑对数据进行差分或其他转换,以使其平稳,然后应用时间序列分析方法,如ARIMA模型。

    代码实现

    以下是R语言中实现上述分析的代码:

    install.packages("readxl")
    install.packages("ggplot2")
    install.packages("forecast")
    library(readxl)
    library(ggplot2)
    library(forecast)
    library(tseries)
    
    # 读取Excel文件中的支出数据
    retail_data <- read_excel("C:\\Users\\ASUS\\Desktop\\...\\retail.xlsx")
    head(retail_data)
    
    # 创建时间序列
    retail_ts <- ts(retail_data$零售总额, start=c(1978), frequency=1)
    
    # 描述性统计
    summary(retail_ts)
    
    # 时间序列图
    plot(retail_ts, main="中国社会消费品零售总额", xlab="年份", ylab="零售总额(亿元)", col="blue")
    
    # ADF检验
    adf.test(retail_ts)
    

    参考资料

    请注意,上述代码中的文件路径需要根据您实际的文件位置进行修改。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 已采纳回答 6月2日
  • 创建了问题 6月2日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据