【问题标题】:It seems that there is a weird Segmentation Fault when using R POSIXct class使用 R POSIXct 类时似乎有一个奇怪的分段错误
【发布时间】:2011-01-28 15:30:34
【问题描述】:

在尝试表或转换长 POSIXct 变量时似乎存在一个奇怪的问题。解决这个问题相对容易,但仍然很烦人。有没有其他人经历过这个?一个简单的例子如下

z <- 1472562988  
tst <- as.POSIXct(z+(1:150000), origin = "1960-01-01")  
tst2 <- z+1:150000  
segFault <- table(tst)  
segFault2 <- as.character(tst)  
segFault3 <- as.factor(tst)  
noSegFault <- table(tst2)

我问的原因是,如果我从 sql 表中导入数据并希望将 by() 与日期索引一起使用,如果不先将我的日期列转换为 SQL 中的字符格式,我就无法做到这一点。这是 sessionInfo() 的输出:

R 版本 2.12.0 (2010-10-15) 平台:sparc-sun-solaris2.10(32位)

语言环境: [1] C

附加的基础包: [1] 网格统计图形 grDevices utils 数据集方法
[8] 基地

其他附加包: [1] timeDate_2120.90 ggplot2_0.8.8 proto_0.3-8 reshape_0.8.3
[5] plyr_1.2.1

【问题讨论】:

  • 请提供您的操作系统、R版本、安装包等

标签: r


【解决方案1】:

[从 cmets 移出]

Solaris 的用户群较小,因此测试不太彻底,因此您发现新错误的可能性比平时稍大。更新到 R 2.12.1 补丁(以避免出现 Ripleyed),使用 --vanilla 运行(避免加载任何其他包),并查看问题是否仍然存在。如果是这样,请将其发布到 r-devel 和/或提交错误报告(包含完整的系统详细信息、您外祖母的中间名等)... [在 Ubuntu Linux 上的 R 2.12.1 上对我来说运行良好]

【讨论】:

    【解决方案2】:

    您很可能使用的是 2.11.1 之前的 R 版本(当format.POSIXlt 中的段错误问题已修复时)。您需要升级到 2.11.1 或更高版本——最好是 2.12.1。

    您的代码在 WinXP 上使用 R-2.12.1 运行良好。

    【讨论】:

    • 我觉得和stackoverflow.com/questions/4253437/…一样的情况
    • @Bob:您的代码在 WinXP 上使用 R-2.12.0 为我运行。请将sessionInfo() 的输出添加到您的问题中。
    • 代码对我来说很好用:R version 2.10.1 (2009-12-14) i386-pc-mingw32
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多