r - 如何在另一列包含指定字符串的情况下设置NA?

标签 r

我有一个包含以下信息的数据框:

test_01 <- data.frame(Party_1 = c("ABC", "ABC", "ABC"),
                      Party_2 = c("DEF", "DEF", "GHI"),
                      Party_3 = c("GHI", "Independent", "Independent"),
                      Ministry_No_P1 = c(12,10,10),
                      Ministry_No_P2 = c(6,5,2),
                      Ministry_No_P3 = c(2,1,1)
                      )
test_01

我现在正在寻找一种方法,每当在 Party_x 中时,在 NA 上设置相应 Party_x 的部委数量 (Ministry_No_Px)列中找到名为“Independent”的字符串。

我想将 Ministry_No_Px 的设置链接到 NA,条件是在 Party_x 中找到“独立”字符串。

最佳答案

假设列是对应的顺序,用字符串列创建一个逻辑矩阵,即列索引从 1 到 3,并使用它来将数字列 4 到 6 中的相应值分配为 NA

test_01[4:6][test_01[1:3] == 'Independent'] <- NA

-输出

test_01
#  Party_1 Party_2     Party_3 Ministry_No_P1 Ministry_No_P2 Ministry_No_P3
#1     ABC     DEF         GHI             12              6              2
#2     ABC     DEF Independent             10              5             NA
#3     ABC     GHI Independent             10              2             NA

关于r - 如何在另一列包含指定字符串的情况下设置NA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63873959/

相关文章:

r - j 环境中使用函数进行列选择

r - 从 tibble (R, dplyr) 中的每一行中减去 1 行

r - 如何让R的 'raster'包区分GeoTIFF中的正旋转矩阵和负旋转矩阵?

r - read.table() 和 read.csv() 中的 skipNul = TRUE 有什么作用(除了跳过/忽略嵌入的空值)?

r - 禁用标题时,Shinydashboard 会删除多余的空间

r - 为矩阵模拟 reshape2::melt 与 pivot_longer

r - 处理R中缺少的因子组合

r - X11 在 R 中不可用

r - 根据最近的日期合并数据 R

对于特定坐标,用另一个矩阵的值替换矩阵的一部分