2017-10-04 101 views
0

我想使用mutate生成正態分佈的隨機數作爲列。我嘗試使用runif(),但它在大規模數據上拋出錯誤。do dplyr mutate支持runif

extract_grp <- extract_grp %>% 
mutate(rand = runif(sdf_nrow(extract_grp))) 
glimpse(extract_grp) 

是正的錯誤是:

Error: org.apache.spark.sql.AnalysisException: Undefined function: 'RUNIF'. This function is neither a registered temporary function nor a permanent function registered in the database 'temp_data'.; line 1 pos 101 at org.apache.spark.sql.catalyst.catalog.SessionCatalog.failFunctionLookup(SessionCatalog.scala:999) at org.apache.spark.sql.hive.HiveSessionCatalog.lookupFunction0(HiveSessionCatalog.scala:202) at org.apache.spark.sql.hive.HiveSessionCatalog.lookupFunction(HiveSessionCatalog.scala:174) at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveFunctions$$anonfun$apply$13$$anonfun$applyOrElse$6$$anonfun$applyOrElse$39.apply(Analyzer.scala:897)

+2

在你的問題中包括一個[最小可重現的例子](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)將增加你獲得答案的機會。 – jsb

+0

感謝jsb的迴應。但我懷疑它是否適用於dplyr和spark數據框。我想要生成正態分佈的隨機數。我沒有找到任何對我有幫助的內容,或者我沒有完全理解你想提及的內容。請解釋我是否需要更正。 –

+0

如果您的問題包含兩個不同的問題,請將它們分開並提出兩個問題,而不是一個嵌套問題。 – jsb

回答

0

蘭特()解決了我的問題的程度。

extract_grp <- extract_grp %>% 
    mutate(rand = rand()) 
    glimpse(extract_grp) 

我能夠爲我的配置單元表生成隨機序列。但是卡住的是使用播種。 set.seed()適用於本地R,但在sparklyr上執行。