as.Date() がおかしいと思ったら@triadsouさんが助けてくれた件

奥華子ばっか聴いてます

print(sessionInfo())
## R version 2.15.1 (2012-06-22)
## Platform: x86_64-pc-mingw32/x64 (64-bit)
## 
## locale:
## [1] LC_COLLATE=Japanese_Japan.932  LC_CTYPE=Japanese_Japan.932   
## [3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C                  
## [5] LC_TIME=Japanese_Japan.932    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] knitr_0.8
## 
## loaded via a namespace (and not attached):
## [1] digest_0.5.2   evaluate_0.4.2 formatR_0.6    plyr_1.7.1    
## [5] stringr_0.6.1  tools_2.15.1

load("xy.dat")
print(ls())
## [1] "x"  "y1"
print(x)
## [1] "2012年10月3日"
print(y1)
## [1] "2012年10月3日"
print(identical(x, y1))
## [1] TRUE
print(as.Date(x = x, format = "%Y年%m月%d日
## [1] "2012-10-03"


print(as.Date(x = y1, format = "%Y年%m月%d日
## Error: 入力文字列が長すぎます

print(digest::digest("2012年10月3日", serialize = FALS
## [1] "2315d1d4a4f8758dfb111b2203cc28fc"

print(digest::digest(x, serialize = FALSE))
## [1] "2315d1d4a4f8758dfb111b2203cc28fc"

print(digest::digest(y1, serialize = FALSE))
## [1] "f5d88638bc5a9a20278925246eccfc1b"

print(as.Date(x = iconv(y1, "UTF-8", "SHIFT_JIS"), format = "%Y年%m月%d日
## [1] "2012-10-03"

xとy1は同じ文字列が入ってるが、文字コードが異なる。
iconvでSHIFT-JISに変えたらas.Date()が使えるようになった

*注・・・format=“%Y年%m月%d日で表示キレちゃってますが実際は”))まであります!