Рассчитать совокупную вероятность, используя scala - PullRequest
0 голосов
/ 01 марта 2020

У меня есть датафрейм:

val score = training.withColumn("z test", (col("Distance") - u1) / u2)

Я хочу рассчитать совокупную вероятность; Я пробовал это.

 val normm =  new NormalDistribution(0,1)
 score.withColumn(colName =  "p-value",1-normm.cumulativeProbability(score.select("z test")))

Я получаю сообщение об ошибке в этой строке:

score.withColumn(colName =  "p-value",1-normm.cumulativeProbability(score.select("z test"))

Я хочу получить такой результат:

+----------------+----------------+-   
|A               |B               |speed    |   z test    |  p-value
 +----------------+----------------+---------------------+--
|17/02/2020 00:06|      -7.1732833|   50    |    z test    | p-val

|17/02/2020 00:16|      -7.1732833|   40    |    z test    |  p-val

|17/02/2020 00:26|      -7.1732833|   30    |    z test    |  p-val

1 Ответ

0 голосов
/ 01 марта 2020

Я решил проблему:

def cdf (x:Double): Double ={
  val normm =  new NormalDistribution(0,1)
  1-normm.cumulativeProbability(x)
 }
val fun= udf(cdf _)
 score.cache().withColumn("pval",fun(col("z test"))).show(800)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...