聚合和计算 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))
我有一个车辆类型的数据集作为每种车辆类型的因素(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))