提问人:Vaiva Petrikaite 提问时间:3/2/2022 最后编辑:MaëlVaiva Petrikaite 更新时间:3/3/2022 访问量:892
R dplyr 中的 null 值
null values in R dplyr
问:
我有以下问题
df <- df %>% mutate(col1=ifelse(col2>1 ,0,3))
如果我有 ,则结果为 null。我试过了col2 = null
df <- df %>% mutate(col1=ifelse(col2>1 | is.na(col2)==FALSE ,0,3))
df <- df %>% mutate(col1=ifelse(col2>1 | is.null(col2)==FALSE ,0,3))
然而,结果是一样的。如何获得 3 如果?col2 = null
答:
0赞
Quinten
3/3/2022
#1
下面是一个示例数据帧:
df <- data.frame(col1 = c(1,2,3,4,5),
col2 = I(list(2, NULL, NULL, 5, 2)))
df
带输出:
col1 col2
1 2
2
3
4 5
5 2
若要将 col2 中的 NULL 替换为 3,可以使用以下代码:
df <- df %>% replace(.=="NULL", 3)
这导致:
col1 col2
1 2
2 3
3 3
4 5
5 2
评论
col2 == "null"
is.null(NULL)
is.null(null)
is.null("null")
null
NULL
FALSE
TRUE
is.na(col2)==FALSE
!is.na(col2)
NULL
df1 = data.frame(x = 1:3)
df1$x[1] <- NULL
df1
dput()
可能是共享示例数据的最佳方式 - 它是可复制/粘贴的,并且包含所有类和结构信息。例如,对于前 5 行。选择一个包含一些“空”值的小型子集,这些值会给您带来麻烦。也请明确所需的结果。你想在什么情况下是什么?dput(df[1:5, ])
col1
col2
NA