R 按唯一值和频率显示
R Display by Unique Value and Frequency
除了大约 500 万个观察值外,我有一个如下图所示的数据集。我已经根据它们在之前代码中记录的时间过滤了日期,以仅包括在工作时间进行的呼叫。现在,我想根据 WORKERCALL_ID 分隔日期,以便查看每个工作人员的所有唯一日期的列表以及每个 WORKERCALL_ID 在每个日期出现的次数(调用次数每个日期,由每个 WORKERCALL_ID 分隔。我尝试使用列联矩阵然后将其更改为数据框来执行此操作,但是文件太大以至于我的 R 会话总是中止。有没有人知道如何完成这个?
WORKERCALL_ID DATE
124789244 02-01-2014
128324834 05-01-2014
124184728 06-10-2014
下面是每个 WORKERCALL_ID 和日期所需输出的示例。我的最终目标是能够对结果进行子集化并删除调用频率高的 rows/ID。
WORKERCALL_ID DATE FREQ
124789244 02-01-2014 4
124789244 02-23-2014 1
两个选项:
table(df$WORKERCALL_ID, df$DATE)
或者,使用 dplyr(还包括请求添加的过滤掉频率高于 5 的 ID):
df %>% group_by(WORKERCALL_ID, DATE) %>% summarize(freq=n()) %>% group_by(WORKERCALL_ID) %>%
filter(!any(freq>5))
示例:
rbind(as.data.frame(df),data.frame(WORKERCALL_ID=128324834, DATE="Moose",freq=6,stringsAsFactors = FALSE)) %>% group_by(WORKERCALL_ID) %>% filter(!any(freq>5))
# A tibble: 2 x 3
# Groups: WORKERCALL_ID [2]
WORKERCALL_ID DATE freq
<dbl> <chr> <dbl>
1 124184728. 06-10-2014 1.
2 124789244. 02-01-2014 1.
请注意 ID 128324834 是如何从最终结果中删除的。
我会用dplyr::count
library(dplyr)
count(df,WORKERCALL_ID,DATE)
除了大约 500 万个观察值外,我有一个如下图所示的数据集。我已经根据它们在之前代码中记录的时间过滤了日期,以仅包括在工作时间进行的呼叫。现在,我想根据 WORKERCALL_ID 分隔日期,以便查看每个工作人员的所有唯一日期的列表以及每个 WORKERCALL_ID 在每个日期出现的次数(调用次数每个日期,由每个 WORKERCALL_ID 分隔。我尝试使用列联矩阵然后将其更改为数据框来执行此操作,但是文件太大以至于我的 R 会话总是中止。有没有人知道如何完成这个?
WORKERCALL_ID DATE
124789244 02-01-2014
128324834 05-01-2014
124184728 06-10-2014
下面是每个 WORKERCALL_ID 和日期所需输出的示例。我的最终目标是能够对结果进行子集化并删除调用频率高的 rows/ID。
WORKERCALL_ID DATE FREQ
124789244 02-01-2014 4
124789244 02-23-2014 1
两个选项:
table(df$WORKERCALL_ID, df$DATE)
或者,使用 dplyr(还包括请求添加的过滤掉频率高于 5 的 ID):
df %>% group_by(WORKERCALL_ID, DATE) %>% summarize(freq=n()) %>% group_by(WORKERCALL_ID) %>%
filter(!any(freq>5))
示例:
rbind(as.data.frame(df),data.frame(WORKERCALL_ID=128324834, DATE="Moose",freq=6,stringsAsFactors = FALSE)) %>% group_by(WORKERCALL_ID) %>% filter(!any(freq>5))
# A tibble: 2 x 3
# Groups: WORKERCALL_ID [2]
WORKERCALL_ID DATE freq
<dbl> <chr> <dbl>
1 124184728. 06-10-2014 1.
2 124789244. 02-01-2014 1.
请注意 ID 128324834 是如何从最终结果中删除的。
我会用dplyr::count
library(dplyr)
count(df,WORKERCALL_ID,DATE)