r - 我想在 R 中按天获得可靠性值!= 1
问题描述
我想知道我的数据框中有多少值与 1 不同。
我的输入是这样的:
simulation, day, reliability
1, 1, 0.999
1, 2, 0.999
1, 3, 0.999
2, 1, 1
2, 2, 0.999
2, 3, 1
3, 1, 0.98
3, 2, 0.98
3, 3, 1
输出应该是这样的:
day, counter
1, 2
2, 3
3, 1
提前谢谢了!
解决方案
您可以取逻辑值的总和来计算每天有多少个不同于 1。
在基础 R 中:
aggregate(reliability~day, df, function(x) sum(x != 1))
dplyr
:
library(dplyr)
df %>%group_by(day) %>% summarise(counter = sum(reliability != 1))
和数据表:
library(data.table)
setDT(df)[, .(counter = sum(reliability != 1)), day]
推荐阅读
- javascript - 为什么console.log中不会发生变量提升
- python - 为什么函数执行时间为零秒
- python - 高效计算 len(str(x)) 和 len(repr(x))
- asp.net-core - 在 ASP.NET Core 中从贝宝执行付款时出现 INTERNAL_SERVICE_ERROR
- typescript - 一个对象到另一个对象的类型安全转换(又名挑选)
- swift - GMSAutocompleteResultsViewController GoogleMap 搜索列表布局问题
- excel - Application.Match 数字不匹配 - 我是否缺少整数命令/调用?
- ios - 是否可以在错误之外使用函数进行错误处理?
- iis - 如何使用 IIS 输出缓存来缓存没有扩展名的文件?
- sharepoint-online - SharePoint 在线显示/隐藏列 - 强制显示或隐藏列