r语言 - 如何从列字符串中删除字符?



我有一个具有以下列名的数据库(每个列名对应于一个人在不同年份的观察结果,即第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")

我的想法是创建一个宽表,但首先我想删除字符串:"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)

我们可以用base R中的trimws

trimws(Session, whitespace = '.*_')
[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"

最新更新