假设我想编写一个从SparkR DataFrame(版本1.6.0)中删除列的函数:
dropColumn <- function(df, col) {
df[[col]] <- NULL
df
}
df <- dropColumn(df, 'Email')
但它会出错:
Error in `[[<-`(`*tmp*`, col, value = NULL) :
[[<- defined for objects of type "S4" only for subclasses of environment
如何更改我的代码?
答案 0 :(得分:0)
目前在数据帧中没有用于删除列的便捷方法。我认为这可以直播,直到它可以在SparkR中实现:
dropColumn <- function(df, col) {
tempdf <- new("DataFrame",
sdf=SparkR:::callJMethod(df@sdf, "drop", col),
isCached=FALSE)
tempdf
}
newdf <- dropColumn(inputdf, 'Email')