2016-05-19 4 views
10

Я хотел бы добавить столбец, заполненный символом N в DataFrame в SparkR. Я хотел бы сделать это так с кодом, не SparkR:Добавить столбец в DataFrame в sparkR

df$new_column <- "N" 

Но с SparkR, я получаю следующее сообщение об ошибке:

Error: class(value) == "Column" || is.null(value) is not TRUE 

Я пытался безумные вещи, чтобы справиться с ним, я был в состоянии создайте столбец, используя другой (существующий) номер с df <- withColumn(df, "new_column", df$existing_column), но эта простая вещь, не ...

Любая помощь?

Спасибо.

+1

Единственный хак я знаю это использовать 'ifelse' с тем же значением возврата для обоих условий. Итак, 'df $ new <- ifelse (условие, 'N', 'N')'. – mtoto

+0

Работал, большое спасибо (ставьте его как ответ, если хотите, чтобы я его подтвердил) –

ответ

13

Прямое решение будет использовать SparkR::lit() функцию:

df_new = withColumn(df, "new_column_name", lit("N")) 
+1

Ницца! Не знал о 'lit()', удалит мой ответ, когда OP примет ваш. – mtoto

+0

Удаление сделано. Спасибо вам обоим. –

+0

Как бы добавить столбец, полный NA? –

Смежные вопросы