gpt4 book ai didi

r - 完全删除整个 R session 的科学记数法

转载 作者:行者123 更新时间:2023-12-04 10:55:13 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Force R not to use exponential notation (e.g. e+10)?

(4 个回答)


3年前关闭。




不要想在我的 R session 中的任何计算的任何结果中看到任何科学记数法。我想查看所有实际数字,最好在每三位数字后加一个逗号 (,)。

我怎样才能做到这一点? options(scipen = 999)不削减它。

最佳答案

print.default函数查看 options()['digits'] “决定”要分配的宽度的值,因此您可能需要增加它并尝试最大化“scipen”。该宽度的值大于 16 时存在操作系统特定问题。至于逗号请求,……算了。 R 不是财务报告系统。如果您需要强制使用这种输出格式,您可以将对象定义为特定类,并使用 sprintf 和 formatC 为它们编写打印方法,或者我想您可以重写 print.default,但这可能只会影响未使用的打印操作传递给 print 的其他 100 多种方法之一.

有输出方法。 formatC()prettyNum()两者都有一个“big.mark”参数,可以将逗号插入到数字中。输出在 "character"格式,因此不要尝试对您创建的结果进行任何进一步的计算。

还有一些输入法可以读取包含逗号或货币符号的数字列:

setAs("character", "num.with.commas",  function(from) as.numeric(gsub(",", "", from))) 
setAs("character", "euro",
function(from) as.numeric(gsub("€", "", from)))
setAs("character", "num_pct",
function(from) as.numeric(gsub("%", "", from))/100)
# you will get warning messages if you have not defined the class,
# .... but this will still succeed

Input <- "A B C
1,000 1% 3.50€
2,000 2% 4.77€
3,000 3% €5.68
"
DF <- read.table(textConnection(Input), header = TRUE,
colClasses = c("num.with.commas", "num_pct", "euro"))
str(DF)

关于r - 完全删除整个 R session 的科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com