获取列的所有 NA 值的行号
Getting the rownumbers for all NA values of a column
我有数据如下:
df <- as.data.frame(c(1,2,NA,4,5))
names(df)[1] <- "first_column"
first_column
1 1
2 2
3 NA
4 4
5 5
我想获取 first_column
为 NA
的所有行号,因此 3
我找到了查找其他值的方法,即 which(grepl(2, df$first_column))
但不是 NA
。包括 NA
值显然非常麻烦 ()。
有更简单的方法吗?
有什么想法吗?
which(is.na(df$first_column)==T)
我们可以使用 which
和 is.na
which(is.na(df))
[1] 3
采用tidyverse
方法:
library(tidyverse)
df <- as.data.frame(c(1,2,NA,4,5))
names(df)[1] <- "first_column"
df %>%
mutate(second_column = ifelse(is.na(first_column), row_number(), NA))
#> first_column second_column
#> 1 1 NA
#> 2 2 NA
#> 3 NA 3
#> 4 4 NA
#> 5 5 NA
我有数据如下:
df <- as.data.frame(c(1,2,NA,4,5))
names(df)[1] <- "first_column"
first_column
1 1
2 2
3 NA
4 4
5 5
我想获取 first_column
为 NA
的所有行号,因此 3
我找到了查找其他值的方法,即 which(grepl(2, df$first_column))
但不是 NA
。包括 NA
值显然非常麻烦 (
有什么想法吗?
which(is.na(df$first_column)==T)
我们可以使用 which
和 is.na
which(is.na(df))
[1] 3
采用tidyverse
方法:
library(tidyverse)
df <- as.data.frame(c(1,2,NA,4,5))
names(df)[1] <- "first_column"
df %>%
mutate(second_column = ifelse(is.na(first_column), row_number(), NA))
#> first_column second_column
#> 1 1 NA
#> 2 2 NA
#> 3 NA 3
#> 4 4 NA
#> 5 5 NA