小编Dre*_*ew 的帖子

如何使用正则表达式提取字符串的最后一位数字?

我有一堆colnames

L_1_3
L_2_23
L_3_91
L_3_16
Run Code Online (Sandbox Code Playgroud)

我想使用 _ 后面的最后一位数字用新名称替换这些列名,如下所示:

3
23
91
16
Run Code Online (Sandbox Code Playgroud)

我试过colnames(X) <- gsub("L_\\d\\d_", "", colnames(X))这适用于末尾有两位数的字符串。我想要一个既适用于一位数又适用于两位数的人。

谢谢!

regex replace r names

13
推荐指数
2
解决办法
185
查看次数

根据另一列的值过滤一列

我有一个看起来像这样的数据集

data <- data.frame(ID = c("1a", "1b", "2a", "2b", "3a", "4b", "5a", "5b"),
           Sex = c(1, 2, 2, 1, 1, 2, 1, 2))
Run Code Online (Sandbox Code Playgroud)
 ID Sex
 1a   1
 1b   2
 2a   2
 2b   1
 3a   1
 4b   2
 5a   1
 5b   2
Run Code Online (Sandbox Code Playgroud)

我想根据 进行过滤ID。具体来说,如果 中的字符串中有相同的数字ID,例如 1a 和 1b、2a 和 2b、5a 和 5b,那么我想过滤Sex= 1 的行。此外,我想保留 3a 和 4b 的行,因为无论 中的值如何,它都没有 3b 和 4a 的对应项Sex

我最终想要的输出是:

 ID Sex
 1a   1
 2b   1
 3a   1
 4b …
Run Code Online (Sandbox Code Playgroud)

r dplyr

5
推荐指数
2
解决办法
1739
查看次数

标签 统计

r ×2

dplyr ×1

names ×1

regex ×1

replace ×1