我想用特定条件替换列的值。
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
功能,但无法给我想要的结果。
无论如何都遇到同样的问题?
答案 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")