尝试对包含 0 和 1 的列进行求和

问题描述 投票:0回答:1

这是一个数据框的示例: df <- tibble(col_1 = c(0, 1, 1, 0, 1))

基本上,我希望能够将 1 的总和(3)除以 0 和 1 的总和(5)。我将如何为一篇专栏做这件事?另外,有没有办法对结构相同的多个列执行此操作?谢谢你。

我尝试使用不同的 R 函数,但可惜,我不知道该怎么做。

r rstudio
1个回答
0
投票

对于

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
© www.soinside.com 2019 - 2024. All rights reserved.