2
글쎄, as.double
을 사용한 변환이 작동하는 것처럼 보입니다. 그러나 정수가 아닌 숫자를 더하면 정수로 잘립니다. 예를 들어 이것은 다음과 같습니다.RMySQL으로 반입 된 정수 열을 double로 변환 할 수 없습니다.
geo <- fetch.data.from.mysql(...)
> head(geo$total_time)
[1] 1586 165 5339 1586 2895 1178
> typeof(geo$total_time)
[1] "integer"
> typeof(as.double(geo$total_time))
[1] "double"
지금까지 모든 것이 예상대로입니다.
> head(geo$total_time + 0.5)
[1] 1586 166 5340 1586 2896 1178
> head(as.double(geo$total_time) + 0.5)
[1] 1586 166 5340 1586 2896 1178
> typeof(geo$total_time + 0.5)
[1] "double"
MySQL 데이터베이스의 열은 다음과 같습니다 : 당신이 그것에 0.5을 추가하려고하면하지만, 그것이 배의 그러나 그것은 정수와 같은 소수 부분을 잘라 말한다 `total_time` int(32) default NULL
정말 필요 이 벡터에 약간의 지터를 추가하십시오. 어떤 도움을 주시면 감사하겠습니다. 마지막으로, sessionInfo() :
> sessionInfo()
R version 2.12.0 (2010-10-15)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] RMySQL_0.7-5 DBI_0.2-5 ggplot2_0.8.8 proto_0.3-8 reshape_0.8.3 plyr_1.2.1
loaded via a namespace (and not attached):
[1] tools_2.12.0
+1 내 제안은 @Daniel이 될 것입니다. 왜냐하면 * 인쇄 *에서 정밀성을 떨어 뜨리지 않으면 서 시연 한 방식으로 작업 할 수있는 코드가 없기 때문입니다. 이제 당신의'.Rprofile'에서 그 지시어를 제거하는 좋은 시간이 될 것입니다 ... (직접 답을 받아들입니다.) –
적어도 10 진수를 인쇄하도록 R을 알리는 방법이 있다면 좋을 것입니다 'digits'에 관계없이 비 - 정수 숫자를 가리킨다. –