r - R 帮助:按组计算唯一值
问题描述
这是一个示例数据集来说明我的问题:
example=data.frame(Group1=c(1,1,1,2,2,10,15,23),
Group2=c(100,100,150,200,234,456,465,710),
UniqueID=c('ABC67DF','ADC45BN','ADC45BN','ADC44BB','BBG40ML','CXD99QA','BBG40ML','VDF72PX'))
这是数据集的样子:
Group1 Group2 UniqueID
1 100 ABC67DF
1 100 ADC45BN
1 150 ADC45BN
2 200 ADC44BB
2 234 BBG40ML
10 456 CXD99QA
15 465 BBG40ML
23 710 VDF72PX
我想计算每个 UniqueID 的出现次数,并有一个如下所示的数据集:
Group1 Group2 UniqueID Count
1 100 ABC67DF 1
1 100 ADC45BN 1
1 150 ADC45BN 2
2 200 ADC44BB 1
2 234 BBG40ML 1
10 456 CXD99QA 1
15 465 BBG40ML 2
23 710 VDF72PX 1
我尝试了以下代码:
library(plryr)
Count=count(data$UniqueID)
但这只会压缩我的数据集以仅显示唯一的 UniqueID。谁能帮我获取所需的数据集?
解决方案
R 基础解决方案
example$ones <- 1 # create a vector of 1's
example <- transform(example, Count = ave(ones, UniqueID, FUN=cumsum)) # get counts
example$ones <- NULL # delete vector of 1's previously created
example # check results
Group1 Group2 UniqueID Count
1 1 100 ABC67DF 1
2 1 100 ADC45BN 1
3 1 150 ADC45BN 2
4 2 200 ADC44BB 1
5 2 234 BBG40ML 1
6 10 456 CXD99QA 1
7 15 465 BBG40ML 2
8 23 710 VDF72PX 1
推荐阅读
- java - 如何使用百里香将视图中的列表传递给 Spring MVC 中的控制器?
- javascript - 在猫鼬中填充许多子文档级别
- macos - 无法使用 smartbear 代码协作者的 P4 插件添加文件以供审阅
- python - 熊猫数据框中的正则表达式
- php - Cookie 和字符串比较不匹配
- python-3.x - AWS Lambda Python - 将密钥复制到“文件夹”会创建嵌套的“文件夹”。如何从监视中排除“文件夹”
- f# - 无法为 Orleans 3.0 生成 F# 接口库
- java - 在 Hybris-Spartacus 项目中具有新扩展的自定义 commercewebservices
- r - 使用 purrr::map 重命名更大列表中列表中元素的行名?
- sql - 将所有记录放在一个表中的性能损失