在aarch64机器上安装使用R语言的季节调整包

下载最新R语言docker镜像,并运行和登录容器

复制代码
aaa@kylin-pc:~/par$ sudo docker pull docker.1ms.run/r-base:4.6.0
4.6.0: Pulling from r-base
bf17e2bd9d2b: Pull complete 
507bd1bbf6a5: Pull complete 
6700d570bfa1: Pull complete 
938b4ad624cd: Pull complete 
94100daaba7b: Pull complete 
0a3f5c336428: Pull complete 
6a991db89cb9: Download complete 
46867dbc53f7: Download complete 
Digest: sha256:9259470c9e14c36181ab55341969b503b5862debabcad732ead17816e3a78d6c
Status: Downloaded newer image for docker.1ms.run/r-base:4.6.0
docker.1ms.run/r-base:4.6.0
aaa@kylin-pc:~/par$ 

sudo docker run -itd -v /home/aaa/par:/par --network host --name  rbase docker.1ms.run/r-base:4.6.0
sudo docker exec -it rbase bash
root@kylin-pc:/# R

R version 4.5.3 (2026-03-11) -- "Reassured Reassurer"
Copyright (C) 2026 The R Foundation for Statistical Computing
Platform: aarch64-unknown-linux-gnu

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

按照R语言X13binary的github存储库, https://github.com/x13org/x13org.github.io 介绍, 一行命令即可,它会联网下载源码,自动编译,

复制代码
> install.packages("seasonal")
Installing package into '/usr/local/lib/R/site-library'
(as 'lib' is unspecified)
also installing the dependency 'x13binary'

trying URL 'https://cloud.r-project.org/src/contrib/x13binary_1.1.61.2.tar.gz'
trying URL 'https://cloud.r-project.org/src/contrib/seasonal_1.10.0.tar.gz'
* installing *source* package 'x13binary' ...
** this is package 'x13binary' version '1.1.61.2'
** package 'x13binary' successfully unpacked and MD5 sums checked
** using staged installation
** libs
using Fortran compiler: 'GNU Fortran (Debian 15.2.0-16) 15.2.0'
(cd ../tools/x13as_html && FC="gfortran" FFLAGS="-O2" LINKER="gfortran" make -f makefile.gf x13ashtml)
make[1]: Entering directory '/tmp/Rtmp7ORtXu/R.INSTALL491346021/x13binary/tools/x13as_html'
gfortran -O2  -c -o aaamain.o aaamain.f
gfortran -O2  -c -o abend.o abend.f

gfortran -O2  -c -o testodf.o testodf.f
gfortran -o x13ashtml aaamain.o abend.o acf.o acfar.o acfdgn.o 

make[1]: Leaving directory '/tmp/Rtmp7ORtXu/R.INSTALL491346021/x13binary/tools/x13as_html'
mkdir -p ../inst/bin
cp -f ../tools/x13as_html/x13ashtml ../inst/bin/
installing via 'install.libs.R' to /usr/local/lib/R/site-library/00LOCK-x13binary/00new/x13binary
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (x13binary)
* installing *source* package 'seasonal' ...
** this is package 'seasonal' version '1.10.0'
** package 'seasonal' successfully unpacked and MD5 sums checked
** using staged installation
** R
** data
*** moving datasets to lazyload DB
** demo
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (seasonal)

The downloaded source packages are in
	'/tmp/RtmpX74866/downloaded_packages'

再用网页上的例子测试季节调整功能。https://www.quandl.com/api/v3/datasets/FRED/VALEXPCNM052N.csv 这个链接被封锁了,用文件名在网上搜索,得到另一个地址 https://fred.stlouisfed.org/series/VALEXPCNM052N,可以下载,然后再把链接url改为本地目录。注意$列名需要和文件中的一致。使用seas函数前需要引入seasonal库。

复制代码
> rs <- ts(read.csv("/par/VALEXPCNM052N.csv")$Value/1e3, start = c(1992, 1), frequency = 12)
Error in ts(read.csv("/par/VALEXPCNM052N.csv")$Value/1000, start = c(1992,  : 
  'ts' object must have one or more observations
> a<-read.csv("/par/VALEXPCNM052N.csv")
> a
    observation_date VALEXPCNM052N
1         2005-01-01         50727
2         2005-02-01         44276
3         2005-03-01         60845
4         2005-04-01         62084
5         2005-05-01         58422
6         2005-06-01         65930
7         2005-07-01         65532
8         2005-08-01         68372
9         2005-09-01         70148
10        2005-10-01         68025
11        2005-11-01         72195
12        2005-12-01         75397
13        2006-01-01         65126


250       2025-10-01        305046
251       2025-11-01        330163
252       2025-12-01        357747
> rs <- ts(a$VALEXPCNM052N/1e3, start = c(1992, 1), frequency = 12)
> m1 <- seas(rs)
Error in seas(rs) : could not find function "seas"
> library(seasonal) 
> m1 <- seas(rs)
> plot(m1, main = "Retail Trade: U.S. Total Sales", ylab = "USD (in Billions)")
> 

命令行方式的R无法显示图片,查看https://zhuanlan.zhihu.com/p/492829689,可以用如下命令将图片保存到png文件,就能查看了。

复制代码
# 1. 创建画布
png( 
    filename = "name.png", # 文件名称
    width = 10,            # 宽
    height = 10,           # 高
    units = "in",          # 单位
    bg = "white",          # 背景颜色
    res = 300)             # 分辨率
# 2. 绘图
plot(1:5) 
# 3. 关闭画布
dev.off()
相关推荐
2603_965148113 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
知无不研5 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
cfm_29146 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
C++ 老炮儿的技术栈7 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qq_448011167 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组
小白学大数据7 小时前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
zlinear数据采集卡8 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Poo_Chai8 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间8 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
小努蛋9 小时前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty