gpt4 book ai didi

r - r-检查每一列是否为na

转载 作者:行者123 更新时间:2023-12-01 08:47:44 25 4
gpt4 key购买 nike

我有一个数据框内的列的列表,我想检查所有这些列是否为NA并创建一个新列,告诉我它们是否为NA

这是使用一列的示例,其中Any_Flag是我的新列:

ItemStats_2014$Any_Flag <- ifelse(is.na(ItemStats_2014$Item_Flag_A), "Y", "N")

当我尝试对多个列进行检查时,我得到了我期望的结果:
ItemStats_2014$Any_Flag <- ifelse(all(is.na(ItemStats_2014[ ,grep("Flag", names(ItemStats_2014), value = T)])), "Y", "N")

它返回的所有内容均为false或“N”。

最佳答案

数据

set.seed(1)
data <- c(LETTERS, NA)
df <- data.frame(Flag_A = sample(data), Flag_B = sample(data),
C = sample(data), D = sample(data), Flag_E = sample(data))

df <- rbind(NA, df)

代码

识别每行的所有NA:
> df$All_NA <- apply(df[, grep("Flag", names(df))], 1, function(x) all(is.na(x)))
> head(df)
Flag_A Flag_B C D Flag_E All_NA
1 <NA> <NA> <NA> <NA> <NA> TRUE
2 H K B T Y FALSE
3 J W C K P FALSE
4 O I H I <NA> FALSE
5 V L M S R FALSE
6 E N P E I FALSE

每行至少标识一个NA:
> df$Any_NA <- apply(df[, grep("Flag", names(df))], 1, function(x) anyNA(x))
> head(df)
Flag_A Flag_B C D Flag_E Any_NA
1 <NA> <NA> <NA> <NA> <NA> TRUE
2 H K B T Y FALSE
3 J W C K P FALSE
4 O I H I <NA> TRUE
5 V L M S R FALSE
6 E N P E I FALSE

关于r - r-检查每一列是否为na,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49698648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com