首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计数具有相同日期的行

计数具有相同日期的行
EN

Stack Overflow用户
提问于 2014-01-30 10:03:26
回答 2查看 1.5K关注 0票数 1

我有以下变量:

代码语言:javascript
运行
复制
     datevote 
1   1981-6-21
2   1981-6-21
3   1981-9-23
4   1982-2-14
5   1982-2-14

等等..。

最后,我希望有一个新列,其中显示"datevote“ist相同日期的编号:

代码语言:javascript
运行
复制
  datevote        numbervotes
1   1981-6-21     2
2   1981-6-21     2
3   1981-9-23     1
4   1982-2-14     2
5   1982-2-14     2

我试过几件事,但工作似乎比预期的要多。有谁可以帮我?非常感谢你的帮助,谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-30 10:10:57

您可以像这样使用新的dplyr包。

代码语言:javascript
运行
复制
library(dplyr)
df <- data.frame(datevote = as.Date(c("1981-06-21", "1981-06-21", "1981-06-23", "1981-06-14", "1981-06-14")))

mutate(group_by(df, datevote), numbervotes = n(datevote))
##     datevote numbervotes
## 1 1981-06-21           2
## 2 1981-06-21           2
## 3 1981-06-23           1
## 4 1981-06-14           2
## 5 1981-06-14           2

等效的plyr解决方案是:

代码语言:javascript
运行
复制
detach(package:dplyr)
library(plyr)
ddply(df, "datevote", mutate, numbervotes = length(datevote))
票数 4
EN

Stack Overflow用户

发布于 2014-01-30 11:48:05

Data.table备选方案:

代码语言:javascript
运行
复制
df <- data.frame(datevote = as.Date(c("1981-06-21", "1981-06-21", "1981-06-23", "1981-06-14", "1981-06-14")))
library(data.table)
df <- data.table(df)
df[,numbervotes:=.N, by=datevote]
df
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21453268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档