2016-05-19 22 views
10

Chciałbym dodać kolumnę wypełnioną znakiem N w DataFrame w SparkR. Chciałbym zrobić to tak z kodem non-SparkR:Dodaj kolumnę do DataFrame w sparkR

df$new_column <- "N" 

Ale z SparkR, pojawia się następujący błąd:

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

próbowałam szalone rzeczy do zarządzania nim, udało mi się utwórz kolumnę przy użyciu innej (istniejącej) kolumny z df <- withColumn(df, "new_column", df$existing_column), ale ta prosta rzecz, nie ...

Każda pomoc?

Dzięki.

+1

Jedynym Hack wiem, jest to, aby używać 'ifelse' o tej samej wartości zwracanej dla obu warunkach. Tak więc 'df $ new <- ifelse (warunek, 'N', 'N')'. – mtoto

+0

Pracowałem, dziękuję bardzo (wpisz to jako odpowiedź, jeśli chcesz, żebym to potwierdził) –

Odpowiedz

13

Prosta rozwiązaniem będzie użycie SparkR::lit() funkcję:

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

Miło! Nie wiedział o "lit()", usunie moją odpowiedź, gdy PO zaakceptuje twoje. – mtoto

+0

Usunięcie zrobione. Dzięki wam obojgu. –

+0

Jak dodać kolumnę pełną NA? –

Powiązane problemy