【发布时间】:2022-01-31 23:06:19
【问题描述】:
有很多页面显示如何将 NULL 值替换为 NA 或特定值,但我没有看到任何显示如何采用其他方式的内容(将值替换为 @987654324 @ 在向量中)。有没有办法做到这一点?这是我的{tidyverse} 尝试的代表:
library(tidyverse)
# character vectors can have null values
c("None", "Some", NULL, "Many", "All")
#> [1] "None" "Some" "Many" "All"
# but is there a way to replace a string in a vector with null?
c("None", "Some", "NULL", "Many", "All") %>%
str_replace("NULL", NULL)
#> Error: `replacement` must be a character vector
由reprex package 创建于 2022-01-31 (v2.0.1)
【问题讨论】:
-
您不能用 NULL 替换字符串,因为 NULL 的长度为零。在您的第一个示例中,字符向量不包含 NULL 值 - 在您指定 NULL 的地方它不包含任何内容,因为 NULL 从字面上看是什么都没有。有一个函数
as.null()可以简单地将你给它的任何东西变成一个 NULL。 -
您的第一条语句本身并不是字符向量。这是一个调用函数
c,有5个参数,第三个是NULL,其余的是长度为1的字符向量。c忽略NULL,连接其他所有内容,并返回生成的长度为 4 的字符向量。结果中没有隐藏NULL。 -
如果您来自 SQL,请注意 SQL
NULL与 RNA相同
标签: r vector replace null stringr