0

我得到错误:

[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)

我怎么解决这个问题?

4

1 回答 1

0

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

babies$bwt2 <- cast(babies$bwt2,'string')
于 2015-08-14T06:46:24.867 回答