我有一个属性(使用Weka!)
@attribute age {10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-99}
现在,对于给定的Instances data
,我想获得属性Instance
中每个age
的出现次数。因此,如果在data
我有50个具有属性age 10-19
的实例,100个具有属性age 20-29
的人和150个具有属性age 30-39
的人,那么我想要计算它,得到类似的东西:
age 10-19: 50
age 20-29: 100
age 30-39: 150
age 40-49: 0
age 50-59:0
...
age 90-99: 0
我的第一个猜测就是采用一些天真的方法来计算每个人使用哈希映射或类似的东西,但我认为有一个更好的解决方案。 任何帮助将不胜感激(即使是天真的方法)。 谢谢!
答案 0 :(得分:0)
找到一个解决方案。
将属性作为索引Relative Self
,循环遍历数据集,并为属性DataContext
的{{1}}查找Page
的属性值索引。
select -- count only Online rows
online_count = sum(case when onlineoffline = 'Online' then 1 else 0 end),
-- count all rows
all_count = count(*)
from tbl
where trxdate >
-- find the first trxdate that is online
(select top 1 trxdate from tbl where onlineoffline = 'Online' order by trxdate)