r - 如何计算 v1 v2 v3 并将其显示为百分比?
问题描述
df <- data.frame(v1 = c('1','0','1','1','0','1','0','0','1'),
v2 = c('0','1','1','1','0','0','1','0','0'),
v3 = c('1','0','0','1','0','0','0','1','1'))
df
如何计算 v1 v2 v3 并将其显示为百分比?预期结果 v1 有 4 个 0 5 1(0 类 4/9;1 类 5/9)v2 有 5 个 0 和 4 个 1 等。我的试验如下:
length(df$`v1`[df$`v1` == 0])
[1] 4
解决方案
使用dplyr
:
library(dplyr)
df %>% summarise(across(.fns = ~mean(. == '1')))
# v1 v2 v3
#1 0.5555556 0.4444444 0.4444444
如果您只有二进制数据,您可以将数据转换为数字并使用colMeans
:
df %>% type.convert() %>% colMeans()
推荐阅读
- macos - 构建 golang 应用程序导致“TARGET_OS_IPHONE”未定义错误
- ckeditor - 标签的ckeditor样式集-在a中渲染svg
- javascript - 如何在页面重新加载超过 10 像素时激活颜色更改导航
- android - 从另一个 BottomSheetDialogFragment 打开另一个 BottomSheetDialogFragment
- bash - 将参数传递给 bash 中的命令
- amazon-web-services - Aws Terraform - 跨账户连接
- swiftui - 如何同时关闭多个堆叠的 SwiftUI 模态/表格?
- playwright - 我们如何以角度发布和订阅剧作家中的事件?
- spring - PreparedStatementCallback; 无法转换类
由于 com.mysql.cj.exceptions.WrongArgumentException 请求的 SQL 类型 - api - 拆分不适用于翻译的对象