'aaa_9999_1' の形式のデータ ベクトルがあります。最初の部分はアルファ ロケーション コード、2 番目は 4 桁の年、最後は一意のポイント識別子です。たとえば、複数の sil_2007_X ポイントがあり、それぞれ最後の桁が異なります。「_」文字を使用してこのフィールドを分割し、一意の ID 番号のみを新しいベクトルに保存する必要があります。私は試した:
oss$point <- unlist(strsplit(oss$id, split='_', fixed=TRUE))[3]
ここでの応答に基づいて: R remove part of string . 「1」の単一の応答が得られます。走るだけなら
strsplit(oss$id, split= ‘_’, fixed=TRUE)
分割リストを生成できます。
> 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"
最後に [3] を追加すると、[[3]] という結果が得られます: 「sil」「2007」「3」。私が欲しいのは、すべてのレコードの 3 番目の部分 (一意の番号) のベクトルです。これについては理解に近づいているように感じますが、締め切りのプロジェクトに時間がかかりすぎています (ほぼ 1 日)。フィードバックをお寄せいただきありがとうございます。