私の仕事は、4番目のアンダースコアが現れるまで、文字列からパーツを分割して抽出することです。私は現在Rを使用していますが、プログラミングなどの初心者です。
入力は次のようになります。
6_10_36_0_1
6_10_38_16_15
6_100_76_16_18.1
必要な結果は次のようになります。
6_10_36_0
6_10_38_16
6_100_76_16
私の考えは次のとおりです。
substr(data$x, 0, XXX)
XXXは4番目のアンダースコアの前の位置を定義しますが、おそらくgrepまたはstrsplitを使用しますか?
申し訳ありませんが、私が愚かで答えやすい質問をした場合。しかし、私はすでに投稿された回答にふさわしいものを見つけられませんでした。
編集:
> bestand$ID<-sub("(_[0-9.]+$)", "", bestand$x)
Fehler in `$<-.data.frame`(`*tmp*`, "ID", value = character(0)) :
replacement has 0 rows, data has 36513
> gsub("(_[0-9.]+$)", "", "6_100_63_8_2")
[1] "6_100_63_8"
>
どうやらコマンドは機能しますが、マトリックスでは機能しません。