x<-c("123-12","12-24","6-4")
各文字列のダッシュの前の部分を新しいベクトルに抽出するにはどうすればよいですか? この例では、私の結果は次のようになります
c("123","12","6")
ダッシュの後にすべてを抽出することを除いて、どうすれば同じことを行うことができますか? いえ
c("12","24","4")
私の問題では、 x のすべての要素にダッシュが 1 つだけあると想定できます。
x<-c("123-12","12-24","6-4")
各文字列のダッシュの前の部分を新しいベクトルに抽出するにはどうすればよいですか? この例では、私の結果は次のようになります
c("123","12","6")
ダッシュの後にすべてを抽出することを除いて、どうすれば同じことを行うことができますか? いえ
c("12","24","4")
私の問題では、 x のすべての要素にダッシュが 1 つだけあると想定できます。
ダッシュの前の文字列を抽出するには、ダッシュとその後のすべてを空の文字列に置き換えます。
sub('-.*', '', x)
ダッシュの後の文字列を抽出するには、反対のことを行います
sub('.*-', '', x)
これは別の方法ですが、値を数値型に変換する利点が追加されています。
d <- read.table(text=x, sep='-')
# V1 V2
# 1 123 12
# 2 12 24
# 3 6 4
次に、次のようになります。
d[,1]
# [1] 123 12 6
d[,2]
# [1] 12 24 4
これを試して:
substr(x,1,as.vector(regexpr("-",x))-1)