我收到了错误:
[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)
我该如何解决这个问题?
答案 0 :(得分:0)
您的代码存在两个问题:首先因素不是SparkR类型,您只限于字符串,其次as.type不适用于DataFrame列,您应该使用以下转换代码
babies$bwt2 <- cast(babies$bwt2,'string')