2016-02-29 3 views
1

, я хочу, чтобы написать функцию, чтобы удалить столбец из SparkR DataFrame (версия 1.6.0):колонка падения в функции sparkR

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

Открыть JIRA, реализовать требуемый метод на DataFrame, сделать PR? – zero323

+0

Я имею в виду, что здесь мало что можно сделать. DataFrame просто не реализует '[[<-'. – zero323

ответ

0

В настоящее время нет метода удобства в dataframe для удаления столбца. Я думаю, что это будет работать до тех пор, пока оно не сможет быть реализовано в SparkR:

dropColumn <- function(df, col) { 
    tempdf <- new("DataFrame", 
      sdf=SparkR:::callJMethod([email protected], "drop", col), 
      isCached=FALSE) 
    tempdf 
} 
newdf <- dropColumn(inputdf, 'Email') 
Смежные вопросы