首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构造类来收集数据,分析数据,总结分析,以供快速参考

如何构造类来收集数据,分析数据,总结分析,以供快速参考
EN

Stack Overflow用户
提问于 2014-09-07 05:09:15
回答 1查看 79关注 0票数 1

Stackoverflow

如何构造代码以收集外部集合中的数据,并按数据类型返回频率分布(即数据收集中的每种数据类型)?我知道这个问题已经解决了很多次了。但是,我找不到答案。如有任何指导,将不胜感激。

举个例子:

  • 你有一个30名学生的教室
  • 每个学生完成考试。
  • 每一次考试都由许多问题组成。
  • 收集每个问题的数据(例如,问题回答(整数),完成问题所需的时间(TimeSpan))
  • 在课堂上,对于每一次考试(例如第1号问题)、每一个问题(例如第1号问题),对于收集到的每一种数据类型(例如问题回答),您都希望检索频率分布(例如,10项答复= 1,15项答复= 2,5项答复= 3,0项答复= 4)。

下面是我目前的想法..。这显然是不正确的:收集数据似乎是直接与:

  • 类类
  • 学生班
  • 考试班
  • 问题类: IEnumerable (如果整数和TimeSpan值被转换为双值)

其结果是:

  • 一个类实例由一个列表(多个学生实例)组成
  • 每个学生实例包含一个列表--许多考试实例
  • 每个考试实例包含一个列表--许多问题实例。
  • 每个具有属性的问题实例(例如,问题响应(整数)、完成问题所需的时间(TimeSpan))

返回在一个问题上收集到的数据的频率是我从何而来的:

  • 基准级
  • DataType类(即问题类中的属性)。我对此不太确定。)
  • 分配类

其结果是:

  • 一个由Dictionary>>?组成的基准实例??

使用LINQ,依次从每个学生抓取每一个问题:

代码语言:javascript
复制
List<Exam> Exams = from student in classroom
    where student.examNumber == "x"
    select student.exam.ToList();

List<Question> Questions = from question in exams
    where question.Number == "x"
    select question.ToList();

在同一次考试中,列出了对相同问题的回答:

  • 对于收集到的每个dataType (因此,IEnumerable)
  • 获取dataType系列
  • 使用级数作为参数实例化新分布
  • 加到字典里。

我知道这个解决办法是不完整和不正确的。再一次,任何指导都将不胜感激。

问候香农

EN

回答 1

Stack Overflow用户

发布于 2014-09-07 06:12:30

我正试着用你的例子.但是这里有一个松散的基于真实代码的概念,我用它来做复杂的LINQ查询来报告.

代码语言:javascript
复制
   var linqAnswers = from question in Questions
                            group question by question.Answer into grpAnswer
                            select new
                            {
                                answer = grpAnswer.Key,
                                count = grpAnswer.Count(),
                                data = ProcessAnswerFrequencyData(Questions, grpAnswer)
                            };


 protected IEnumerable<QuestionAnswerChartPoint> ProcessAnswerFrequencyData(IEnumerable<Question> list, IGrouping<string, Question> grp)
{
    //Do more processing on the group and return a reporting list.
}

那些代码是临时的,未经测试的,无效的,概念上的垃圾.但也许这会让你走上正确的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25707263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档