如何从列字符串中删除字符?
How to remove characters from column string?
我有一个数据库,其中包含以下列名称(每一个对应于不同年份对个人的观察,即第 1 年、第 2 年):
Session <- c("Evidims_01_001_1", "Evidims_01_001_2", "Evidims_01_001_3", "Evidims_01_002_1", "Evidims_01_002_2", "Evidims_01_003_1", "Evidims_01_003_2" "Evidims_01_003_3", "Evidims_01_003_4", "Evidims_01_004_1")
我的想法是创建一个宽 table,但首先我想删除字符串:“Evidims_0x_00x_y”,只保留每个名称中的最后一个数字,即“1” , "2".
提前致谢!
你是这个意思吗?
sub('.*_', '', Session)
#[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"
这可能有助于:
regmatches(Session, regexpr("\d+$", Session, perl = TRUE))
[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"
您还可以使用:
sub(".*(\d+)$", "\1", Session)
我们可以使用 trimws
来自 base R
trimws(Session, whitespace = '.*_')
[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"
我有一个数据库,其中包含以下列名称(每一个对应于不同年份对个人的观察,即第 1 年、第 2 年):
Session <- c("Evidims_01_001_1", "Evidims_01_001_2", "Evidims_01_001_3", "Evidims_01_002_1", "Evidims_01_002_2", "Evidims_01_003_1", "Evidims_01_003_2" "Evidims_01_003_3", "Evidims_01_003_4", "Evidims_01_004_1")
我的想法是创建一个宽 table,但首先我想删除字符串:“Evidims_0x_00x_y”,只保留每个名称中的最后一个数字,即“1” , "2".
提前致谢!
你是这个意思吗?
sub('.*_', '', Session)
#[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"
这可能有助于:
regmatches(Session, regexpr("\d+$", Session, perl = TRUE))
[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"
您还可以使用:
sub(".*(\d+)$", "\1", Session)
我们可以使用 trimws
来自 base R
trimws(Session, whitespace = '.*_')
[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"