【发布时间】:2022-09-26 13:56:49
【问题描述】:
大脑卡住了。我需要找到一种方法来在同一行内的多个其他列中查找一个列的逐行值。比如... 50 或 60。在下面的示例中,“是 B 或 C 中的 A 的行值吗?\”但使用实际数据中的列位置,而不是列名,因为有太多。我知道 case_when 会成功,但要测试的列又太多了。
例子:
df1 <- data.frame(A = c(4, 6,3),
B = c(4, 1, 1),
C = c(1, 1, 3))
我用 map() 尝试了这个,但它似乎在第 3 列中查找数字 4:59 的任何实例,而不是在第 4 列到第 59 列中。
nums <- c(4:59)
cols <- c(3)
wL$Check_Median <-
wL[, cols] %>%
map(~.x %in% nums) %>%
reduce(`|`)
我想象它会起作用,使用 4:59 而不是命名列,如下所示:
nums <- c(B:C)
cols <- c(A)
wL$D <-
wL[, cols] %>%
map(~.x %in% nums) %>%
reduce(`|`)
结果将是:
df2 <- data.frame(A = c(4, 6,3),
B = c(4, 1, 1),
C = c(1, 1, 3),
D = c(TRUE, FALSE, TRUE))
标签: r