尝试统计R中每个登录id的失败尝试次数

尝试统计R中每个登录id的失败尝试次数,r,R,我试图从审核日志中按登录id列出失败尝试的次数。假设审核日志如下所示: User ID | LoginStatus | LoginAttempt ----------+--------------+----------------- 2ABQM4 | F | 1 2ABQM4 | F | 2 1BIDU8 | F | 1 1YUM8T | F | 1 2MP32A | F

我试图从审核日志中按登录id列出失败尝试的次数。假设审核日志如下所示:

User ID   | LoginStatus  | LoginAttempt
----------+--------------+-----------------
2ABQM4    | F            | 1
2ABQM4    | F            | 2
1BIDU8    | F            | 1
1YUM8T    | F            | 1
2MP32A    | F            | 1
2MP32A    | F            | 2
2ABQM4    | F            | 3
1BIDU8    | F            | 2
User ID   | MaxLoginAttempt
----------+-----------------
2ABQM4    | 3
1BIDU8    | 2
1YUM8T    | 1
2MP32A    | 2
我想创建一个表,其中按用户ID显示最大登录尝试次数,如下所示:

User ID   | LoginStatus  | LoginAttempt
----------+--------------+-----------------
2ABQM4    | F            | 1
2ABQM4    | F            | 2
1BIDU8    | F            | 1
1YUM8T    | F            | 1
2MP32A    | F            | 1
2MP32A    | F            | 2
2ABQM4    | F            | 3
1BIDU8    | F            | 2
User ID   | MaxLoginAttempt
----------+-----------------
2ABQM4    | 3
1BIDU8    | 2
1YUM8T    | 1
2MP32A    | 2
我不知道如何在R中做到这一点。提前感谢上师和前辈们的善意帮助


Arifin

您可以使用
聚合

aggregate(LoginStatus~User.ID,  df, function(x) sum(x == 'F'))

#  User.ID LoginStatus
#1  1BIDU8           2
#2  1YUM8T           1
#3  2ABQM4           3
#4  2MP32A           2
library(data.table)
setDT(df)[, sum(LoginStatus == 'F'), User.ID]
使用
dplyr

library(dplyr)
df %>% group_by(User.ID) %>% summarise(Failed_Attempt = sum(LoginStatus == 'F'))
数据。表

aggregate(LoginStatus~User.ID,  df, function(x) sum(x == 'F'))

#  User.ID LoginStatus
#1  1BIDU8           2
#2  1YUM8T           1
#3  2ABQM4           3
#4  2MP32A           2
library(data.table)
setDT(df)[, sum(LoginStatus == 'F'), User.ID]
在本例中,您共享的所有
LoginStatus
始终是
'F'
,在这种情况下,您还可以计算每个组中的行数