2013-08-03 2 views
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 

세 개의 새로운 변수 v1, v2v3을 생성하고 싶습니다. v1Code의 숫자 부분이며 v2Code의 문자 부분이며 V3Mixturev2 사이의 연결입니다. R에이 명령을 작성하라는 명령이 있습니까? 에 정말 감사드립니다.

답변

0

문자열의 일부를 추출하려면 정규 표현식을 사용하십시오. R에 help(regex)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 사용하지 않았습니다.)

관련 문제