【发布时间】:2018-02-08 04:36:49
【问题描述】:
我有下表(称为火车)(实际上要大得多)
UNSPSC adaptor alert bact blood collection packet patient ultrasoft whit
514415 1 0 1 0 0 0 0 1 0
514415 0 0 0 1 1 0 0 1 0
514415 0 0 1 0 0 0 0 1 0
514415 0 0 0 0 0 0 0 1 0
514415 1 0 1 0 0 0 0 1 0
514415 0 0 0 0 0 0 0 1 0
422018 1 0 1 0 0 0 0 1 0
422018 0 0 0 0 0 0 0 1 0
422018 0 0 0 1 0 0 0 1 0
411011 0 0 0 0 0 0 0 1 0
还有下表,我称之为关联:
lhd rhs
blood collection
adaptor bact
[...]
我想计算 lhs 和 rhs 关联表中每条记录的值等于 1 的每列唯一 UNSPSC 的数量。 喜欢:
血液收集 1 适配器 2
这段代码一次只做一个学期。
apply(train[,-1], 2, function(x) length(unique(substr(train$UNSPSC,1,4)[x == 1])))
【问题讨论】: