【发布时间】:2018-01-30 03:04:05
【问题描述】:
我有下表(称为火车)(实际上要大得多)
UNSPSC adaptor alert bact blood collection packet patient ultrasoft whit
514415 0 0 0 0 0 0 0 1 0
514415 0 0 0 1 0 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 0 0 0 0 0 0 0 1 0
514415 0 0 0 0 0 0 0 1 0
422018 0 0 0 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
我想计算每列唯一 UNSPSC 的数量,其中值等于 1。因此对于列血,它将是 2,对于超软列,将是 3。
我正在这样做,但不知道如何继续:
apply(train[,-1], 2, ......)
我试图不使用循环。
【问题讨论】:
-
如果要获取1个值的个数,可以选择
colSums(rowsum('+'(df1[-1] == 1), df1[,1]) > 0)