do dplyr mutate支持runif

问题描述:

我想使用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

兰特()解决了我的问题的程度。

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

我能够为我的配置单元表生成随机序列。但是卡住的是使用播种。 set.seed()适用于本地R,但在sparklyr上执行。