sách gpt4 ai đã đi

Cách thêm dấu $ vào một số

In lại 作者:行者123 更新时间:2023-12-05 01:49:24 29 4
mua khóa gpt4 Nike

我有几个数字是 numeric 类。下面的例子。

df = c(12974,12412,124124,124124,34543,4576547,32235)

现在我想在每个数字前添加 '$' 符号而不丢失其作为数字的类。

我尝试使用粘贴方法,但为此我必须将 as.numeric 转换为 as.character,然后在使用粘贴函数后,如果我转换为 as.numeric,它返回为 Na!谁能帮我 ?提前致谢!

1 Câu trả lời

一般来说,当您使用数据进行计算/分析时,您应该将数据保留为数字,并且只有在您想要在表格、绘图或报告中显示结果时才粘贴美元符号。否则,您为什么需要它?

R 中没有内置货币类,这可能是件好事。但是,R 是一种灵活的语言,允许快速简单地创建 S3 类,因此如果您thực tế想要,您可以。

以下是此类系统的一个非常基本的实现。它基于美分的整数,以避免出现 float 问题:

dollars <- function(x) {
structure(as.integer(x * 100), class = "dollars")
}

as.dollars <- function(x) {
dollars(x)
}

format.dollars <- function(x, ...) {
scales::dollar(round(unclass(x)/100, 2))
}

print.dollars <- function(x, ...) {
print(format(x), quote = FALSE, ...)
}

as.data.frame.dollars <- function(x, ...) {
nrows <- length(x)
structure(list(x), row.names = as.character(seq(nrows)), class = "data.frame")
}

在您的示例中对此进行测试,我们有

df <- c(12974, 12412, 124124, 124124, 34543, 4576547, 32235)

as.dollars(df)
#> [1] $12,974 $12,412 $124,124 $124,124 $34,543 $4,576,547 $32,235

我们可以将结果存储在数据框中:

dat <- data.frame(cost = as.dollars(df))

dat
#> cost
#> 1 $12,974
#> 2 $12,412
#> 3 $124,124
#> 4 $124,124
#> 5 $34,543
#> 6 $4,576,547
#> 7 $32,235

并在保持其美元符号的同时执行算术运算。

dat$cost / 2
#> [1] $6,487 $6,206 $62,062 $62,062 $17,272 $2,288,274 $16,118

我个人认为这不值得付出努力,当然也不会在生产代码中使用它,但希望它能给您一些想法。

创建于 2022-10-17 reprex v2.0.2

关于r - 如何在数字中添加$符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74102571/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com