在整个数据框中替换字符串

时间:2018-11-02 20:41:29

标签: r

我有一个具有许多功能的数据框,从临时检查中我知道,其中许多包含值“ NULL”,我想用NA代替。

我知道我可以逐列使用str_replace,我的问题是,是否有捷径例如

mydf <- mydf %>% str_replace_all("NULL", NA)

例如:

example_mtcars <- mtcars %>% mutate_at(vars(disp, wt, qsec), funs(as.character(.)))
example_mtcars$disp[c(2,4,8)] <- "NULL"
example_mtcars$wt[c(10, 12)] <- "NULL"
example_mtcars$qsec[c(2,3,4)] <- "NULL"

在整个example_mtcars数据框中替换“ NULL”的所有实例的最短,最少代码方法是什么?

3 个答案:

答案 0 :(得分:3)

这是一种方法-

example_mtcars[example_mtcars == "NULL"] <- NA

答案 1 :(得分:0)

Shree的解决方案很好,但是下面是您想用来将函数应用于数据帧的每一列的通用技术。

mydf <-
    1:ncol(mydf) %>%
        map_df(function_to_apply_to_col())

答案 2 :(得分:0)

具有功能is.na<-的单缸套。

is.na(example_mtcars) <- example_mtcars == "NULL"