gpt4 book ai didi

r - 根据行值选择列

转载 作者:行者123 更新时间:2023-12-04 02:26:24 26 4
gpt4 key购买 nike

我想根据行中的值对列进行子集化(如果可能,使用 dplyr 友好的方法)。

数据框看起来像这样但是有更多的列:

df <- 
data.frame(a = c("a","b","c","bingo"),
b = c("d","e","a","b"),
c = c("bingo","bingo","a","e"))

我只想选择包含值“bingo”的列像

df %>% select(columns_that_contain("bingo"))

预期输出:

     a     c
1 a bingo
2 b bingo
3 c a
4 bingo e

任何帮助将不胜感激!

最佳答案

select-helpersstarts_with/ends_with/contains/matches 正在对列名进行匹配以选择 列。如果我们需要匹配列中的值,请在 select 中使用 where 并创建一个逻辑条件,即 'bingo' %in% 。 where . 是单个列的值,这将返回单个 TRUE/FALSE,因为 %in% 的 lhs 是长度为 1 的元素。

library(dplyr)
df %>%
select(where(~ 'bingo' %in% .))

或者另一个选项是any

df %>%
select(where(~ any(. == 'bingo')))

关于r - 根据行值选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67306279/

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