SparkR:使用条件分配列的值

时间:2017-02-17 10:31:24

标签: r apache-spark sparkr

我想用特定条件替换列的值。

R数据帧的示例:

$ad_id

我想在列值中用“e”替换值“c”和“d”。

在R中,可以这样做

df <- data.frame(id=c(1:7),value=c("a", "b", "c", "d", "e", "c", "c"))

我试着在sparkR中做同样的事情。尝试df[df$value %in% c("c","d"),]$value <- "e" ifelse功能,但无法给我想要的结果。

无论如何都遇到同样的问题?

1 个答案:

答案 0 :(得分:1)

mtoto 的第一条评论效果很好(使用 spark 3.0.1),应该在答案中转换并接受。

df$value <- ifelse(df$value %in% c("c","d"), "e", df$value)

替换列中字符串的另一种有效的略有不同的方法可能如下:

df$value <- regexp_replace(df$value, "c", "e")