我是一名数据科学家,对scala还比较陌生。我试图理解scala文档并从任何现有的包中运行t测试。我正在寻找一个虚拟数据集上的示例scala代码,它可以帮助您理解如何理解文档。
我正在aws emr集群环境中使用emr笔记本(基本上是jupyter笔记本)。我试图参考此文档,但显然我无法理解:https://commons.apache.org/proper/commons-math/javadocs/api-3.6/org/apache/commons/math3/stat/inference/ttest.html#ttest()
下面是我尝试过的,对两个具有t-test函数的不同包使用多个load语句。我有好几行的电话 math3.state.inference
包,因为我不完全确定两者之间的差异,并希望确保这一部分不是问题所在。
import org.apache.commons.math3.stat.inference
import org.apache.commons.math3.stat.inference._ // note sure if this means, import all classes/methods/functions
import org.apache.commons.math3.stat.inference.TTest._
import org.apache.commons.math3.stat.inference.TTest
import org.apache.spark.mllib.stat.test
没有错误。
import org.apache.asdf
按预期返回错误。
的文档 math3.state.inference
说有一个 TTest()
构造函数,然后显示一组方法。这是如何告诉我如何使用这些函数/方法/类的?我看到下面的“方法”符合我的要求:
t(double m, double mu, double v, double n)
Computes t test statistic for 1-sample t-test.
但我不知道怎么用。以下是我尝试过的几件事:
inference.t
inference.StudentTTest
test.student
test.TTest
TTest.t
etc.
但我得到如下错误:
An error was encountered:
<console>:42: error: object t is not a member of package org.apache.spark.mllib.stat.test
test.t
An error was encountered:
<console>:42: error: object TTest is not a member of package org.apache.spark.mllib.stat.test
test.TTest
...etc.
那么,我该如何解决这些问题/用spark内核在scala中计算一个简单的单样本t统计量呢?关于如何理解文件的任何说明/指导也将有助于长期发展。
1条答案
按热度按时间b4qexyjb1#
计算一个样本t检验的公式很容易实现为udf(用户定义函数)
UDF是我们编写自定义函数以应用于Dataframe的不同行的方式。我假设您可以使用标准groupby和agg函数生成聚合值。