我有一个'aaa_9999_1'形式的数据向量,其中第一部分是alpha位置代码,第二部分是四位数年份,最后一个是唯一的点标识符.例如,有多个sil_2007_X点,每个点都有不同的最后一位数.我需要使用"_"字符拆分此字段,并仅将唯一ID号保存到新矢量中.我试过了:
oss$point <- unlist(strsplit(oss$id, split='_', fixed=TRUE))[3]
Run Code Online (Sandbox Code Playgroud)
基于此处的响应:R删除部分字符串.我收到"1"的单一回复.如果我跑
strsplit(oss$id, split= ‘_’, fixed=TRUE)
Run Code Online (Sandbox Code Playgroud)
我可以生成拆分列表:
> head(oss$point)
[[1]]
[1] "sil" "2007" "1"
[[2]]
[1] "sil" "2007" "2"
[[3]]
[1] "sil" "2007" "3"
[[4]]
[1] "sil" "2007" "4"
[[5]]
[1] "sil" "2007" "5"
[[6]]
[1] "sil" "2007" "6"
Run Code Online (Sandbox Code Playgroud)
在最后添加[3]只给我[[3]]结果:"sil""2007""3".我想要的是所有记录的第三部分(唯一编号)的向量.我觉得我已接近理解这一点,但是在截止日期项目上花费了太多时间(就像大多数时间一样).感谢您的任何反馈.