简短的问题..带有以下示例数据:
Equips <- c(1000829,1000829,1000829,1000829,10002244,10002244,
10002244,10002244,10002244,10002244)
Notifs <- c(306989814,306991263,306991263,306991263,306749278,306749278,
306749278,306749278,306854440,306868916)
Comps <- c("Ignition and Flame Detection","Ignition and Flame Detection","Control Box",
"Ignition and Flame Detection","Service Boiler!!!","CH Components Passive",
"Ignition and Flame Detection","not grouped in WCC",
"Electrical Components","Flue Duct")
rank <- c(1,2,2,2,1,1,1,1,2,3)
df <- data.frame(Equips,Notifs,Comps,rank)
Equip就像一台机器的数字,所以有2台机器,Notifs是访问次数=> rank显示机器的访问次数。Comps 是需要修复的组件。我想看看是否有组件,在每次访问这台机器时都进行了修复。
例如机器 1,点火和火焰检测在 rank 1 和 rank 2 被修复,所以我想要一个输出 TRUE,机器 2 被访问了 3 次,但是在 rank1、2 和 3 中没有被修复的组件所以输出应该是假的。(原始数据集,Equips 访问次数高达 10 次!!)
我有一个类似的问题并且有这个代码。
但它不工作。也许你可以得到它:
result <- by(df, df$Equips, function(d) {
nb.comps <- length(unique(df$Comps))
tab <- table(df$rank, df$Comps) > 0
tab <- margin.table(tab, 2)
return(sum(tab>=nb.comps)>0)
})
data.frame(nb.equips=dim(result), nb.matched=sum(result))
我真的很想要这样的东西,因为我没有机会安装任何包,而且由于数据集的大小,我真的需要像最后一个代码一样的整体视图。如果您有任何问题,请询问。