Bisakah saya memaksa R untuk menggunakan angka biasa daripada menggunakan e+10
notasi-like? Saya sudah:
1.810032e+09
# and
4
dalam vektor yang sama dan ingin melihat:
1810032000
# and
4
Saya membuat output untuk program kuno dan saya harus menulis file teks menggunakan cat
. Sejauh ini itu berfungsi dengan baik, tetapi saya tidak bisa menggunakan e+10
notasi di sana.
r
number-formatting
options
scientific-notation
defaults
Matt Bannert
sumber
sumber
Jawaban:
Ini sedikit area abu-abu. Anda harus ingat bahwa R akan selalu memanggil metode cetak, dan metode cetak ini mendengarkan beberapa opsi. Termasuk 'scipen' - penalti untuk tampilan ilmiah. Dari
help(options)
:Contoh:
Yang mengatakan, saya masih menganggapnya fudgeworthy. Cara paling langsung adalah dengan menggunakan
sprintf()
misalnya eksplisit lebarsprintf("%.5f", ran2)
.sumber
options("scipen"=0, "digits"=7)
(itu adalah nilai default)options("scipen"=100, "digits"=4)
ke atas kode, dan yang tidak di bawahnya ... dengan catatan yang sesuai. Ini bisa membingungkan bagi seseorang yang mencari solusi cepat (dan Google menunjukkan yang pertama sebagai hasilnya).Ini dapat dicapai dengan menonaktifkan notasi ilmiah di R.
sumber
Jawaban favorit saya:
Ini memberikan apa yang Anda inginkan tanpa harus muck dalam pengaturan R.
Perhatikan bahwa ia mengembalikan string karakter daripada objek angka
sumber
justified = "none"
atau kalau tidak akan ada spasi yang memasukkan mereka ke panjang yang sama.format(1e6, scientific=FALSE)
kembali"1000000"
sambilas.character(1e6)
kembali"1e+06"
, jadi ada perbedaan antara kedua metode.Masukkan file .Rprofile
options(scipen = 999)
Anda sehingga secara otomatis dieksekusi . (Jangan mengandalkan melakukannya secara manual.)(Ini mengatakan sesuatu yang berbeda dengan jawaban lain: bagaimana?
sumber