답변:
이것은 약간 회색 영역입니다. R은 항상 인쇄 메소드를 호출하고 이러한 인쇄 메소드는 일부 옵션을 수신한다는 것을 기억해야합니다. 과학 디스플레이에 대한 벌칙 인 'scipen'포함. 보낸 사람 help(options)
:
'scipen': 정수 고정 또는 지수 표기법으로 숫자 값을 인쇄하기로 결정할 때 적용되는 페널티입니다. 양수 값은 고정 된 표기법으로, 음수는 과학적 표기법으로 편향됩니다. 고정 된 표기법은 '숫자'보다 넓지 않은 한 선호됩니다.
예:
R> ran2 <- c(1.810032e+09, 4)
R> options("scipen"=-100, "digits"=4)
R> ran2
[1] 1.81e+09 4.00e+00
R> options("scipen"=100, "digits"=4)
R> ran2
[1] 1810032000 4
즉, 나는 여전히 퍼지 가치가 있다고 생각합니다. 가장 직접적인 방법은 sprintf()
명시적인 너비 를 사용 하는 것 sprintf("%.5f", ran2)
입니다.
options("scipen"=0, "digits"=7)
(이것이 기본값입니다)
options("scipen"=100, "digits"=4)
를 달성하는 것을 코드의 맨 위로 옮기고 그 아래에없는 것을 옮기십시오 . 빠른 솔루션을 찾고있는 사람에게는 혼란 스러울 수 있습니다 (Google은 결과적으로 첫 번째 솔루션을 보여줍니다).
R에서 과학적 표기법을 비활성화하여 얻을 수 있습니다.
options(scipen = 999)
내가 가장 좋아하는 답변 :
format(1810032000, scientific = FALSE)
# [1] "1810032000"
이것은 R 설정에서 고민하지 않고도 원하는 것을 제공합니다.
숫자 객체가 아닌 문자열을 반환합니다.
justified = "none"
다른 경우 사용 하거나 같은 길이로 채워지는 공백이 있는지 확인하십시오 .
format(1e6, scientific=FALSE)
보고 "1000000"
while as.character(1e6)
returns "1e+06"
이므로 두 방법간에 차이가 있습니다.
기본적으로 자동 실행되도록 .Rprofile 파일을 넣으십시오 options(scipen = 999)
. . (수동으로 수행하지 마십시오.)
(이것은 다른 답변과 다른 것을 말하고 있습니다 : 어떻게?