gpt4 book ai didi

保留一个特定列中具有空白值的行,并删除所有其他列中具有空白值的行

转载 作者:行者123 更新时间:2023-12-04 16:01:06 27 4
gpt4 key购买 nike

我有一个数据框,其中包含宽格式的参与者分数,每一列代表一个问卷项目,每一行代表一个参与者的回答。

我的数据如下所示:

id <- c("001", "002", "003", "004", "005")
q1 <- c(1, 2, "", 3, 5)
q2 <- c("", 2, 3, 1, "")
q3 <- c(1, 3, 2, 5, 2)
q4 <- c(1, 2, 3, "", 4)
q5 <- c(1, 2, 3, 4, 3)
df <- data.frame(id, q1, q2, q3, q4, q5)
df[, 2:6] <- apply(df[, 2:6], 2, as.numeric)

我想在参与者离开特定列时保留他们的数据行,比方说 q4,空白。同时,我想排除一行,只要除 q4 以外的任何项目都留空。

我想到的最终结果就像下面的截图。参与者 001 和 005 被删除,因为他们缺少 q2 分数。参与者 003 由于缺少 q1 分数而被删除。即使参与者 004 缺少 q4 分数,我仍然希望在数据框中保留参与者 004。

End Result

如果可能,有人可以为我提供一个可以在 dplyr 管道中使用的答案吗?谢谢,非常感谢!

最佳答案

尝试 tidyr 中的 drop_na()

library(tidyr)
df %>% drop_na(-q4)

# output
id q1 q2 q3 q4 q5
#2 002 2 2 3 2 2
#4 004 3 1 5 NA 4

关于保留一个特定列中具有空白值的行,并删除所有其他列中具有空白值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50484041/

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