我有以下Tibble

library(tidyverse)
test <- tibble(A = c("1994:2020, 2021"), B = 1995)

我想判断一下B中的年份是否在A列中给定的年份中.A列中的年份是字符串(数据是从Excel文件中读取的). 以下答案显然不起作用(答案是"不",但我希望答案是"是"):

test %>%
  mutate(InA = ifelse(B %in% A, "Yes", "No"))

> test
# A tibble: 1 x 2
  A                   B
  <chr>           <dbl>
1 1994:2020, 2021  1995

我假设我必须分隔A中的字符串.然而,A可以包含一个以上的范围和/或一个以上的年份(例如("1994:2012,2014,2016:2020,2021")),对于不同的 struct 使用"Separate"会变得复杂.或许还有更直截了当的方法.

推荐答案

Tidyverse相当于@Samr的战略

library(tidyverse)

test <- tibble(A = c("1994:2020, 2021"), B = 1995)

test %>%
  mutate(InA = map2_lgl(A, B, ~ .y %in% eval(str2lang(
    paste0("c(", .x, ")")
  ))))
#> # A tibble: 1 × 3
#>   A                   B InA  
#>   <chr>           <dbl> <lgl>
#> 1 1994:2020, 2021  1995 TRUE

创建于2024-03-08,带有reprex v2.0.2

R相关问答推荐

基于R中的GPS点用方向箭头替换点

使用lapply的重新定位功能

从API中抓取R数据SON

使用R的序列覆盖

为什么当我try 在收件箱中使用合并功能时会出现回收错误?

如何根据条件计算时差(天)

selectInput不返回ALL,并将因子转换为shiny 的数字

derrr summarise每个组返回多行?

如何在kableextra调用cell_spec()中忽略NA?

即使硬币没有被抛出,也要保持对其的跟踪

使用列/行匹配将两个不同维度的矩阵相加

当我们有多个反斜杠和/特殊字符时使用Gsubing

按多列统计频次

如何在R中使用hmm TMB提前一步预测观察到的状态?

条形图中的条形图没有try 赋予它们的 colored颜色

如何创建一个由一个连续变量和一个因素变量组成的复杂方框图?

从单个html段落中提取键-值对

对计算变量所有唯一值的变量进行变异

使用dplyr删除具有条件的行

如何在基数R中根据矩阵散点图中的因子给数据上色?