gpt4 book ai didi

r - "parse_dt"未从当前命名空间解析 (lubridate)

转载 作者:行者123 更新时间:2023-12-04 04:35:10 24 4
gpt4 key购买 nike

我开始收到此错误消息 lubridate包裹:

as.Date(ymd_hms("2014-1-1 12:31:15"))

Error in .Call("parse_dt", x, format, TRUE) : "parse_dt" not resolved from current namespace (lubridate)



我以前从未遇到过这种情况,只有在使用 lubridate 时才能创建此错误在一个长脚本的深处(实际上是一个包中的几个嵌套函数) - 我不知道是哪一行导致了这个问题(我已经调试了几个小时没有任何运气)。

此外,它似乎只在我使用 Rstudio 时发生,而不是在我在 Rgui 中运行相同的代码时发生。

一旦发生,我必须为 lubridate 重新启动 R再次工作。此外,在它发生后,我的全局环境中有这个对象:
> ls()
[1] "oldLC"
> oldLC
[1] "English_Australia.1252"

我知道我应该发布可以重现的错误,但我自己无法重现这个错误,我希望能得到指点!
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] HIEv_0.3 RODBC_1.3-10 maptools_0.8-27 sp_1.0-14 stringr_0.6.2
[6] plyr_1.8 RCurl_1.95-4.1 bitops_1.0-6 rjson_0.2.13 lubridate_1.3.3
[11] roxygen2_3.0.0

loaded via a namespace (and not attached):
[1] brew_1.0-6 codetools_0.2-8 digest_0.6.4 foreign_0.8-57 grid_3.0.2
[6] lattice_0.20-24 memoise_0.1 tools_3.0.2

最佳答案

我还没有找到对这里描述的行为的解释。然而,我找到了一个最小的例子来复制这个问题,以及一种防止它在我的脚本中再次发生的方法。

我创建了以下名为“CODE-TEST-Lubridate2.R”的文件。

## LOAD PACKAGES
library(plyr) # Important to load plyr before dplyr due to function masking.
library(dplyr)
library(lubridate)

dateTemp <- mdy("01-01-1910")

## Cleanup
pkgs <- names(sessionInfo()$otherPkgs)
pkgs <- paste('package:', pkgs, sep = "")
lapply(pkgs, detach, character.only = TRUE, unload = TRUE, force = TRUE)

当我获取文件时,然后使用以下命令再次获取文件,
source("data_raw/CODE-TEST-Lubridate2.R")

发生错误,终止执行,我收到以下错误消息:
Error in .Call("parse_dt", x, format, TRUE, FALSE) : 
"parse_dt" not resolved from current namespace (lubridate)

当我删除 package:plyrpackage:dplyr从清理脚本中,
 ## Cleanup
exceptPkgs <- c("plyr", "dplyr")
pkgs <- names(sessionInfo()$otherPkgs)
pkgs <- pkgs[ which( !(names(sessionInfo()$otherPkgs) %in% exceptPkgs ) ) ]
pkgs <- paste('package:', pkgs, sep = "")
lapply(pkgs, detach, character.only = TRUE, unload = TRUE, force = TRUE)

我离开的意思 plyrdplyr已按原样加载,该错误​​不再发生。

(使用 R 3.2.4、RStudio 0.99.896、dplyr 0.4.3、lubridate 1.5.6、plyr 1.8.3)

关于r - "parse_dt"未从当前命名空间解析 (lubridate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20984833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com