我有一个标题为FilteredData
且多个列的数据框。具体来说,我感兴趣的有两列:Date
和Sale number.
我想按日期对所有Sale number
条目进行分组。 Date
是日期类型字段,Sale number
是字符类型字段。如果我没有弄错的话,我认为这些类型是其他Q& As在S.O.上的原因。对我来说有很大的帮助。
我该怎么做?
我尝试过以下方法:
aggregate(FilteredData$`Sale number`, by FilteredData$Date, FUN = count)
group_by(FilteredData$`Sale number`, FilteredData$Date)
当我尝试时,解决方案都没有找到here。
我尝试了以下内容:
library(sqldf)
Freq = sqldf('SELECT Date, COUNT('Sale Number') FROM FilteredData GROUP BY Date')
令人惊讶地工作。但是,有没有办法获得这个结果而不必使用SQL语法,即纯粹的""在R?
答案 0 :(得分:1)
您可以按如下方式使用data.table
:
library(data.table)
setDT(FilteredData)
FilteredData[ , uniqueN(`Sale number`), by = Date]
我不确定dplyr
是否有针对此的定制功能......您可能只需要length(unique(`Sale number`))
。
答案 1 :(得分:1)
您的问题有点不清楚......所以您希望按 date 进行分组,然后计算某个日期内非重复条目的数量?
dplyr
可以执行此操作:
FilteredData %>% # take filtered data
group_by(FundedDate) %>% # group by the date
subset(!duplicated('Sale number')) %>% # remove rows that are duplicated sales numbers
count('Sale number') # count sales numbers