这是一个数据框的示例: df <- tibble(col_1 = c(0, 1, 1, 0, 1))
基本上,我希望能够将 1 的总和(3)除以 0 和 1 的总和(5)。我将如何为一篇专栏做这件事?另外,有没有办法对结构相同的多个列执行此操作?谢谢你。
我尝试使用不同的 R 函数,但可惜,我不知道该怎么做。
对于
df0
你可以做
df0 = data.frame(col_1 = c(0, 1, 1, 0, 1))
MASS::fractions(sum(df0$col_1 == 1L) / sum(df0$col_1 %in% 0:1))
给予
[1] 3/5
和
df1
df1 = data.frame(col_1 = c(0, 1, 1, 0, 1), col_2 = c(5, 1, 1, 0, 1))
lapply(df1, \(j) MASS::fractions(sum(j == 1L) / sum(j %in% 0:1)))
我们得到
$col_1
[1] 3/5
$col_2
[1] 3/4