SparkR:unique.default中的错误(x,nmax = nmax):unique()仅适用于向量

时间:2015-08-14 05:02:24

标签: r sparkr

我收到了错误:

[1] "testtt"
Error in unique.default(x, nmax = nmax) : 
  unique() applies only to vectors
Calls: as.factor -> factor -> unique -> unique.default
Execution halted


library(SparkR)

这是我的R代码:

sc <- sparkR.init(appName="SparkR-W1-example")
sqlContext <- sparkRSQL.init(sc)

babiesOR <- read.df(sqlContext, "/root/Desktop/babies.csv", "com.databricks.spark.csv", header="true")
print('testtt')


localDf <- collect(babiesOR)
babies <- createDataFrame(sqlContext, localDf)

babies$bwt2 = as.factor( babies$bwt2 )  
class(babies)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的代码存在两个问题:首先因素不是SparkR类型,您只限于字符串,其次as.type不适用于DataFrame列,您应该使用以下转换代码

babies$bwt2 <- cast(babies$bwt2,'string')