0

データ フレーム内の変数から特別なコンテンツを分離するのに問題があります。私のデータフレームの構造は次のようなものです:

ID   Code    Mixture
001  101ABC    BD
002  021DPA    AA
003  FCA123    IO

私の問題は、code変数に数値の部分と文字の部分があることです。次のようなものを作成しようとしていました。

ID   Code    Mixture  v1   v2   V3
001  101ABC    BD     101  ABC  BDABC
002  021DPA    AA     021  DPA  AADPA
003  FCA123    IO     123  FCA  IOFCA

v13 つの新しい変数とv2を作成したいと思いますv3v1は の数値部分Codev2は の文字部分、Codeは とのV3間のリンクです。これを作成するための R のコマンドはありますか。おかげで多くの。Mixturev2

4

1 に答える 1

0

文字列の一部を抽出するには、正規表現を使用します。R では、命令に対してhelp(regex)and と入力help(grep)します。

> test=data.frame(ID=1:3,Code=c("101ABC","021DPA","FCA123"),Mixture=c("BD","AA","IO"))
> test$v1=gsub("[A-Z]*","",test$Code) # this returns the Code column with capital letters removed
> test$v2=gsub("[0-9]*","",test$Code)
> test$v3=paste(test$Mixture,test$v2,sep="")
> print(test)
  ID   Code Mixture  v1  v2    v3
1  1 101ABC      BD 101 ABC BDABC
2  2 021DPA      AA 021 DPA AADPA
3  3 FCA123      IO 123 FCA IOFCA

(おそらくstringrパッケージを使用したより適切な解決策がありますが、私自身は stringr を使用していません。)

于 2013-08-03T02:59:20.363 に答える