gpt4 book ai didi

R:检查向量是否是数据框中任何行的一部分

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

假设我有这个向量 c("a", "b", "c") 和以下数据框:

a d t g h
r a b c
a b c
m p o a b t
c t b a
a b c t g

我的向量的长度总是 3,每个数据框行的长度可以在 3 到 6 列之间。如何检查我的向量是否是 data.frame 行的一部分,而不遍历每行的每个元素?

对于我给出的示例,预期的输出将是:

FALSE
TRUE
TRUE
FALSE
FALSE
TRUE

最佳答案

只需为每一行创建一个字符串,然后使用 grepl

# My version of your data
check_values <- c("a", "b", "c")
my_data <- structure(list(V1 = c("a", "r", "a", "m", "c", "a"), V2 = c("d",
"a", "b", "p", "t", "b"), V3 = c("t", "b", "c", "o", "b", "c"
), V4 = c("g", "c", NA, "a", "a", "t"), V5 = c("h", NA, NA, "b",
NA, "g"), V6 = c(NA, NA, NA, "t", NA, NA)), .Names = c("V1",
"V2", "V3", "V4", "V5", "V6"), row.names = c(NA, -6L), class = "data.frame")

# Actual solution
row_strings <- do.call(paste0, my_data)
check_string <- paste0(check_values, collapse = "")
grepl(check_string, row_strings, fixed = TRUE)
# [1] FALSE TRUE TRUE FALSE FALSE TRUE

关于R:检查向量是否是数据框中任何行的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49805229/

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