我在 df 中有一个功能,其中一些缺失值仅显示为“”。
unique(page_my_df$Type)
[1] "list" "narrative" "how to" "news feature"
[5] "diary" "" "interview"
Run Code Online (Sandbox Code Playgroud)
我想用“未知”替换“”的所有实例。
page_my_df <- page_my_df %>%
mutate(Type = str_replace(.$Type, "", "unknown"),
Voice = str_replace(.$Voice, "", "unknown"))
Run Code Online (Sandbox Code Playgroud)
mutate_impl(.data, dots) 中的错误:评估错误:未实现。
在这里阅读一些文档,特别是在模式下:
使用boundary() 匹配字符、单词、行和句子边界。空模式 "" 等效于边界(“字符”)。
所以我试过:
page_my_df <- page_my_df %>%
mutate(Type = str_replace(.$Type, boundary(""), "unknown"),
Voice = str_replace(.$Voice, boundary(""), "unknown"))
Run Code Online (Sandbox Code Playgroud)
然后给出:
mutate_impl(.data, dots) 中的错误:评估错误:“arg”应该是“character”、“line_break”、“sentence”、“word”之一。
如何在 dplyr::mutate() 中用“unknown”替换空字符串?
这是一种方法:
library(tidyverse)
library(stringr)
z <- c( "list", "narrative", "how to", "news feature",
"diary", "" , "interview" )
data.frame(element = 1:length(z), Type = z) %>%
mutate(Type = str_replace(Type, "^$", "unknown"))
#output
element Type
1 1 list
2 2 narrative
3 3 how to
4 4 news feature
5 5 diary
6 6 unknown
7 7 interview
Run Code Online (Sandbox Code Playgroud)
也不需要在 mutate 调用中引用数据框 .$
^ 和美元符号 $ 是元字符,分别匹配行首和行尾的空字符串。