如何衡量我对R的使用?

时间:2013-04-17 16:08:49

标签: r

我正在为uni写一份年度报告,其中我想详细说明我过去一年对R的使用情况有何增加。我正在寻找可用于描述我对R的使用的指标。​​一些可能的指标用于描述用法:

  • 历史记录中的代码行数
  • 错误数
  • 使用程序花费的时间
  • 调用特定函数的次数
  • 制作的地块数量

所以我的问题是:我可以从R中提取上述任何内容,还是可以提取任何其他可以证明我使用R的指标?

2 个答案:

答案 0 :(得分:3)

首先,我不确定这个问题是否完全适合Stack Overflow。其次,我认为您确定的指标并不合适。让我们来看看你目前为止入围的那些:

  • 历史记录中的代码行数

    您对代码进行了大量调整。它们积累在你的历史中。您的历史现在有很多代码。这是否反映了您对R的使用?或者,您希望在R:

    中编写如下代码
    temp <- 0
    for (i in 1:10) {
      temp <- temp + i
    }
    print(temp)
    

    而熟悉R的人只会写sum(1:10)。一线对五。我们真的可以说线数是一个很好的指标吗?

  • 错误数量

    也许这有一些优点。但是你要以某种方式对错误进行分类吗?支架丢失或放错位置是否可以原谅?如果没有发出错误或警告,但R的行为方式与您可能没有预期的那样,那么会导致意外的结果(例如,假设numeric(0)factor(0)的行为方式相同)。请参阅here了解一些R问题,其中一些没有提供任何错误指示,但肯定会导致错误的分析。如何使用此指标对其进行分析?

  • 使用该计划花费的小时数

    再次,值得商榷。你如何衡量小时数?花时间编码?计算机处理代码的时间?你花时间弄清楚如何编程你的问题?

  • 调用特定函数的次数

    我根本不理解这个指标 。更多不起眼的函数会获得更高的权重(例如,如果你是那些使用vapply而其他人使用sapply的人之一,你是否获得使用vapply的奖励积分因为使用可以更安全(有时更快)?)

  • 制作的数量

    抱歉,但是,我根本不理解这个指标。首先,并非所有情节都是平等的!数据可视化领域有几个人认为很多软件破坏了数据可视化,因为某些软件(特别是一个非常流行的电子表格程序)使人们很容易快速制作华而不实的情节。使用R,默认情况下它们不那么艳俗,但这本身并不能使它。因此,如果您只是在没有其他质量评估标准的情况下测量产生的地块数量,那么我不确定该指标的用途。

并且,从您的评论到您的问题:

  • 实际上......堆栈溢出信誉点可能和其他任何东西一样好!

    呃......我真正使用的 时间 R是回答有关Stack Overflow的问题(遗憾的是)。与此同时,我在这里几乎所有的声望都来自我在R标签中回答的问题。当然,这里有一些用户我真的很信任,但有时候,我甚至不相信自己,所以我不知道这是否是你使用R的好指标。

    很多用户也抱怨Stack Overflow投票是完全古怪的,所以我不确定你真的可以使用&#34;声誉&#34;作为一种有效的技能衡量标准。例如,这里的常规用户正在进行讨论,以便回答&#34; easy&#34;问题得到很快的投票(因为它们很容易验证,通常甚至没有运行代码),而答案很复杂&#34;问题不会产生与回答问题所花费的努力成比例的问题。一个很好的例子:为什么我有一个&#34; Guru&#34;答案的徽章,本质上是一个重新排序的数据版本,已经很容易在Google上用了两分钟。我没有特别自豪这个答案,而且它对我的用法&#34;当然也没有任何说法。 R。


现在,要做到这一点,以便它可以作为答案,而不仅仅是对你的问题本身的扩展评论,我 认为有效的最重要的事情,但不知道如何衡量它,就像你在R社区中的活跃程度一样。有很多方法可以参与R,包括编写或贡献包,提交错误报告,举办研讨会以帮助其他人切换到R,等等。

我并不是说你需要写一本书,就像其他几个人已经完成的那样,或者成为一个传奇的包装开发者,并且有一些下划线追随者,但你可以采取一些小步骤。例如,虽然我是一名写作老师,但我还是为学生举办了一些研讨会,并写了一些&#34;入门提示&#34;只是为了介绍它们使用R,所以他们可以考虑将它添加到他们的工具包中。这里的许多其他用户定期发表关于他们与R合作的经历的博客,同样,由于这是社区的一部分,他们在此过程中学到了很多。

最后,还有一些想法:

  • @PaulHiemstra在他的评论中建议你可以提及你在R中做的编程工作的百分比。&#34;我将这个概念扩展如下:(1)尝试测量你在R中完成了多少工作以及与R互补的工具(像Sweave / knitr / LaTeX这样明显的工具),以及(2)尝试测量使用 R对提高整体技能有多大的影响(逻辑是良好的编程通常伴随着逻辑思维,精心组织,良好的文档等)。

  • 与上一点相关,尝试了解您对R的使用情况如何随时间变化。您的行为是否已从手动重做相同步骤更改为编写功能?您是否已经回过头来调整这些功能,以便不是解决在特定时间点遇到的特定问题,而是更广泛地使用它们?这些都是非常重要的变化,特别是如果您从头开始使用该语言,它们可能比您在问题中提出的想法更有意义。

因此,总而言之,您在问题中发现的许多容易量化的事情可能会导致非常无意义的分析。我觉得你所做的定性投入会更有价值。

答案 1 :(得分:2)

另一个指标:获取旧的和复杂的(不知道是否有)代码并从0重做。使用计算时间的差异作为指标。