You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用force_tz()时出现未使用参数错误的技术求助

问题:force_tz函数报错“unused arguments”

运行的代码

d <- "2015-01-01 09:00"
timezone <- "America/Santiago"
force_tz(time=ymd_hm(d), tzone=timezone)

错误信息

Error in force_tz(time = ymd_hm(d), tzone = timezone) : 
  unused arguments (time = ymd_hm(d), tzone = timezone)

环境信息

R version 4.3.2 (2023-10-31)
Platform: x86_64-apple-darwin20 (64-bit)
Running under: macOS Sonoma 14.4.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/Los_Angeles
tzcode source: internal

lubridate version ‘1.9.3’

已尝试操作

  • 更换不同时区
  • 卸载并重装lubridate包

原因分析

报错核心是使用了错误的参数名。lubridate包中force_tz函数的第一个参数名称是x(待转换时区的日期时间对象),而非你写的time。虽然tzone是正确的参数名,但由于time不是函数定义中的参数,R会判定这是未使用的参数,从而抛出错误。

解决办法

只需修正参数名,或直接按位置传递参数即可:

方法1:使用正确的参数名

force_tz(x = ymd_hm(d), tzone = timezone)

方法2:按位置传递参数(省略参数名)

force_tz(ymd_hm(d), timezone)

两种写法都能正常运行,将解析后的日期时间对象转换为指定的America/Santiago时区。

内容的提问来源于stack exchange,提问作者RB1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 10:20:07