📜  在 R 编程中格式化数字和字符串 - format()函数(1)

📅  最后修改于: 2023-12-03 15:07:48.196000             🧑  作者: Mango

在 R 编程中格式化数字和字符串 - format()函数

在 R 编程中,有时候需要对数字和字符串进行格式化工作。这时候 format() 函数就会派上用场。

语法

format(x, ..., trim = FALSE, na.encode = TRUE, scientific = FALSE)

其中:

  • x : 需要格式化的对象。可以是向量、矩阵、数组、数据框或列表。
  • ... : 其他参数,包括 format() 函数的格式化选项。
  • trim : 是否修剪输出(默认为FALSE)。
  • na.encode : 是否将缺失值编码为特殊字符(默认为TRUE)。
  • scientific : 是否使用科学计数法输出(默认为FALSE)。
数字格式化

对于数字,我们可以使用 format() 函数来进行格式化。这里是一些常用的选项:

数字位数控制

在数字格式化中,一个常用的选项是数字位数控制。比如:

x <- 1234.56789
format(x, digits = 4) # 1.235e+03
format(x, digits = 5) # 1235.0
百分比

可以使用 % 符号来表示百分比。format() 函数支持将数字转化为百分比形式:

x <- 0.12345
format(x, percent = TRUE) # "12.345%"
货币

可以使用 currency = "$" 来表示货币格式:

x <- 1234.56789
format(x, big.mark = ",", decimal.mark = ".", decimal = 2, trim = TRUE, nsmall = 2, digits = 10, scientific = FALSE, width = NULL, justify = "right", format = "f", lambda = NULL, drop0trailing = FALSE, drop0lead = TRUE, trim_ws = TRUE, signif = NULL, zero.print = "0", na.print = "NA",  prefix = "", suffix = "$")
科学计数法

使用科学计数法输出数字字符串:

x <- 100000
format(x, scientific = TRUE) # "1e+05"
字符串格式化

对于字符串,我们也可以使用 format() 函数来进行格式化。其方法与数字格式化相似:

字符串长度控制

可以使用 width 参数来控制输出的字符串长度:

x <- "hello world"
format(x, width = 6, justify = "left") # "hello "
format(x, width = 6, justify = "right") # " world"
format(x, width = 6, justify = "center") # " world"
对齐

使用 justify 参数可以控制字符串的对齐方式:

x <- "hello world"
format(x, justify = "left")     # "hello world"
format(x, justify = "right")    # "hello world"
format(x, justify = "center")   # "hello world"
大小写

使用 upper.case = TRUE/FALSElower.case = TRUE/FALSE 来控制字符串大小写:

x <- "Hello WOrld"
format(x, upper.case = TRUE)    # "HELLO WORLD"
format(x, lower.case = TRUE)    # "hello world"
数字格式化

可以将数字嵌入到文本中,进行格式化:

price <- 100
x <- "The price is $%.2f."
sprintf(x, price)   # "The price is $100.00."
总结

format() 函数在 R 编程中十分常用。我们可以通过其多种选项来格式化数字和字符串。