0
x<-c("123-12","12-24","6-4")

各文字列のダッシュの前の部分を新しいベクトルに抽出するにはどうすればよいですか? この例では、私の結果は次のようになります

c("123","12","6")

ダッシュの後にすべてを抽出することを除いて、どうすれば同じことを行うことができますか? いえ

c("12","24","4")

私の問題では、 x のすべての要素にダッシュが 1 つだけあると想定できます。

4

4 に答える 4

3

ダッシュの前の文字列を抽出するには、ダッシュとその後のすべてを空の文字列に置き換えます。

sub('-.*', '', x)

ダッシュの後の文字列を抽出するには、反対のことを行います

sub('.*-', '', x)
于 2013-11-11T22:24:43.660 に答える
2

これは別の方法ですが、値を数値型に変換する利点が追加されています。

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
于 2013-11-11T22:35:08.560 に答える
0

これを試して:

substr(x,1,as.vector(regexpr("-",x))-1)
于 2013-11-11T22:29:33.690 に答える