如果某个单词出现在多个列中的任何一列中,如何指定TRUE或FALSE?

如果某个单词出现在多个列中的任何一列中,如何指定TRUE或FALSE?,r,R,我有一个数据框,两列随机数据,我不想使用,还有10列(列8:17),其中包含多部电影中演员的各种不同名称,每一行是一部电影,在列8:17中,该电影中的10名顶级演员被命名。我想检查某个演员的名字“塞缪尔·L·杰克逊”是否出现在每部电影的这些栏目中(8:17) 我在数据帧的末尾创建了一个空列。 如果名称出现在第8:17列中,我希望分配1。 如果不是,我希望它是0 这似乎是一个相当简单的问题,但是我尝试了很多不同的方法,但似乎没有一种有效 怎么办 我尝试过用ifelse函数在每一行(电影)上循环,我

我有一个数据框,两列随机数据,我不想使用,还有10列(列8:17),其中包含多部电影中演员的各种不同名称,每一行是一部电影,在列8:17中,该电影中的10名顶级演员被命名。我想检查某个演员的名字“塞缪尔·L·杰克逊”是否出现在每部电影的这些栏目中(8:17)

我在数据帧的末尾创建了一个空列。 如果名称出现在第8:17列中,我希望分配1。 如果不是,我希望它是0

这似乎是一个相当简单的问题,但是我尝试了很多不同的方法,但似乎没有一种有效

怎么办

我尝试过用ifelse函数在每一行(电影)上循环,我也尝试过用单独的if-else语句循环

for(nrow中的i(所有数据集)){

All_dataset[i,18]我们将“All_dataset”中的列8:17子集,检查它是否等于(
=
)以返回一个逻辑矩阵,获取
行和
,检查它是否大于0以返回逻辑向量,用
as.integer
将它强制为二进制(真->1,假->0),并赋值(

All_dataset[, 18] <- as.integer(rowSums(All_dataset[, 8:17] ==
          "Samuel L. Jackson") > 0)
All_dataset[, 18] <-  as.integer(Reduce(`|`, lapply(All_dataset[, 8:17], 
            `==`, "Samuel L. Jackson")))