【发布时间】:2021-09-17 15:15:25
【问题描述】:
我正在计算分子、分母和百分比,并希望将它们放在 R 的一个单元格中。 我该怎么做?
例如,如果我有一个值a = 1 和b = 2,如果我做a/b,我会得到 0.5。
在单个单元格中以“50% (1/2)”格式表达这一点的最佳方式是什么?
【问题讨论】:
-
这能回答你的问题吗? How to format a number as percentage in R?
标签: r
我正在计算分子、分母和百分比,并希望将它们放在 R 的一个单元格中。 我该怎么做?
例如,如果我有一个值a = 1 和b = 2,如果我做a/b,我会得到 0.5。
在单个单元格中以“50% (1/2)”格式表达这一点的最佳方式是什么?
【问题讨论】:
标签: r
sprintf 非常方便:
sprintf("%0.0f%% (%s/%s)", a/b *100, a, b)
[1] "50% (1/2)"
【讨论】:
使用glue
library(dplyr)
df %>%
mutate(perc = glue::glue("({a/b*100}%) {a}/{b}"))
a b perc
1 1 2 (50%) 1/2
2 3 4 (75%) 3/4
df <- structure(list(a = c(1, 3), b = c(2, 4)), class = "data.frame", row.names = c(NA,
-2L))
【讨论】:
这是dyplr 解决方案:
library(dplyr)
df %>%
mutate(perc = paste0("(", a/b*100, "%) ", a, "/", b))
a b perc
1 1 2 (50%) 1/2
2 3 4 (75%) 3/4
数据:
df <- data.frame(
a = c(1,3),
b = c(2,4)
)
【讨论】: