只保留 R 中第 2 个模式之前的部分
Only keep part before the 2th pattern in R
如何使用 R 删除数据框中 second pattern
出现之前的所有内容?
我用过:
for (i in 1:length(df1)){
df1[, i]<- gsub(".*_", "",df1[, i])
}
但我想有更好的方法可以将其应用于所有数据帧吗?
这是数据框中值的示例:
name_000004_A_B_C
name_00003_C_D
并获得
A_B_C
C_D
感谢您的帮助。
x <- c("name_000004_A_B_C", "name_00003_C_D")
gsub("(name_[0-9]*_)(.*)", "\2", x)
##[1] "A_B_C" "C_D"
更普遍:
gsub("([a-z0-9]*_[a-z0-9]*_)(.*)", "\2", x)
#[1] "A_B_C" "C_D"
全局替换考虑了两个匹配组模式,第一个是模式 (name_[0-9]*_)
,第二个是后面的任何模式。它保留第二个匹配组。希望这个hepls!
如何使用 R 删除数据框中 second pattern
出现之前的所有内容?
我用过:
for (i in 1:length(df1)){
df1[, i]<- gsub(".*_", "",df1[, i])
}
但我想有更好的方法可以将其应用于所有数据帧吗?
这是数据框中值的示例:
name_000004_A_B_C
name_00003_C_D
并获得
A_B_C
C_D
感谢您的帮助。
x <- c("name_000004_A_B_C", "name_00003_C_D")
gsub("(name_[0-9]*_)(.*)", "\2", x)
##[1] "A_B_C" "C_D"
更普遍:
gsub("([a-z0-9]*_[a-z0-9]*_)(.*)", "\2", x)
#[1] "A_B_C" "C_D"
全局替换考虑了两个匹配组模式,第一个是模式 (name_[0-9]*_)
,第二个是后面的任何模式。它保留第二个匹配组。希望这个hepls!