我有一个示例数据框,如下所示。
| ID | 文件 |
|---|---|
| 1 | 11_213.csv |
| 2 | 13_256.csv |
| 3 | 11_223.csv |
| 4 | 12_389.csv |
| 5 | 14_456.csv |
| 6 | 12_345.csv |
我想根据下划线和句点之间的字符串添加另一列,以获得看起来像这样的数据框。
| ID | 文件 | 团体 |
|---|---|---|
| 1 | 11_213.csv | 213 |
| 2 | 13_256.csv | 256 |
| 3 | 11_223.csv | 223 |
| 4 | 12_389.csv | 第389章 |
| 5 | 14_456.csv | 第456章 |
| 6 | 12_345.csv | 第345章 |
我想我需要在 stringr 中使用 str_extract 功能,但我不确定我的模式使用什么符号。例如当我使用:
df <- df %>%
mutate("Group" = str_extract(File, "[^_]+"))
Run Code Online (Sandbox Code Playgroud)
我得到下划线之前的所有信息,如下所示:
| ID | 文件 | 团体 |
|---|---|---|
| 1 | 11_213.csv | 11 |
| 2 | 13_256.csv | 13 |
| 3 | 11_223.csv | 11 |
| 4 | 12_389.csv | 12 |
| 5 | 14_456.csv | 14 |
| 6 | 12_345.csv | 12 |
但这不是我想要的。我应该使用什么来代替“[^_]+”来获取下划线和句点之间的内容?谢谢!
我有一个像这样的字符向量列表:
my_list <- list(c('a','b','c','d','e'),c('e','f','g'),c('h','i','j'))
names(my_list) <- c("group1","group2","group3")
Run Code Online (Sandbox Code Playgroud)
我想要一种简单的方法来测试my_list列表中 3 个组/向量中任意一个的字母是否重复。例如,“e”同时出现在组 1 和组 2 中,因此这将是重复的。如果 2 个或更多组中至少有一个或多个重复项,那么任何简单的只返回逻辑值的操作都是理想的。因此,返回 FALSE 意味着每个组中的字母仅对该组而言是唯一的(显然,在我的示例中不是这种情况)。
非常感谢!