2011-01-28 6 views
0

長いPOSIXct変数をテーブル化または変換しようとすると、奇妙な問題が発生しているようです。これを回避するのは比較的簡単ですが、それでも迷惑です。他の誰かがこれを経験しましたか?簡単な例では、私が尋ねる理由は、以下のR 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テーブルからデータをインポートし、日付インデックスに()で使用したい場合は、私が最初に私の日付列を変換せずにそれを行うことができないということですSQLの文字フォーマットに変換します。ここでのSessionInfo()の出力は、次のとおり

Rバージョン2.12.0(2010-10-15) プラットフォーム:SPARC-太陽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

+3

オペレーティングシステム、Rバージョン、インストールされているパッケージなどを指定してください。 –

答えて

3

のSolarisは、したがって、あなたが新しいバグを発見したことを通常よりもわずかに大きい可能性がある、小さなユーザーベース、したがってあまり徹底的にテストされています。 R 2.12.1にパッチを当てて(Ripleyedを避けるために)、--vanillaで実行し(他のパッケージを読み込まないように)、問題が解消されないかどうか確認してください。もしあれば、r-develに投稿し、バグレポートを送ってください(システムの詳細、お母さんのおばあさんのミドルネームなど)... [Ubuntu LinuxのR 2.12.1でうまく動作します]

3

2.11.1より前のRバージョンを使用している可能性があります(format.POSIXltのsegfaultの問題が修正されたとき)。 2.11.1またはそれ以降、好ましくは2.12.1にアップグレードする必要があります。

コードはWinXPのR-2.12.1で問題なく動作します。 [コメントから移動]

+0

http://stackoverflow.com/questions/4253437/r-exits-unexpectedly-when-trying-to-print- a-date-vector-with-length-than-130 – Marek

+0

私はunix solaris上で実行している2.12.0を持っています – rlh2

+0

@Bob:あなたのコードはWinXP上でR-2.12.0で実行されます。あなたの質問に 'sessionInfo()'の出力を加えてください。 –

関連する問題