聚合和计算 R 中的唯一值

aggregate and count uniqe values in R

我有一个车辆类型的数据集作为每种车辆类型的因素(11,12,13 =汽车类型)我有一些单位ID(=特定汽车)我想计算有多少uniqe UnitId我在每种车辆类型中都有。 我试过了: aggregate(UnitId~VehicleType, test, unique)->res1

更新后的问题,即"is there a way to find out if a UnitId appers in more then one VehicleType"

 with(test, names(rowSums(!!table(UnitId, VehicleType))>1))

Copy/pasting 来自基于您的原始问题的评论 ("counting unique values by group")

aggregate(UnitId~VehicleType, test, function(x) length(unique(x)))

with(test, colSums(!!table(UnitId, VehicleType)))

library(data.table)
setDT(test)[, length(unique(UnitId)), VehicleType]

数据

set.seed(24)
test <- data.frame(VehicleType=sample(11:18,60, replace=TRUE), 
  UnitId=sample(1:10, 60, replace=TRUE))