두 번째 결과 문자열에 해당 문자를 유지하면서 특정 문자로 문자열을 분할하고자합니다. 거의 모든 원하는 작업을 수행 할 수 있습니다. 단, 내가 지정하는 문자는 strsplit
으로 지정됩니다. 단락이라고도합니다.문자 손실없이 분할 된 문자열
strsplit
에 구분 기호를 유지하도록 요청하는 방법이 있습니까? 또는 정규 표현식을 사용해야합니까? 조언 해 주셔서 감사합니다. 이것은 아주 기본적인 질문처럼 보입니다. 죄송합니다 중복 있다면. 나는 예를 들어 내가 지금까지 무엇을 보여주고 여기에 기본 R.
를 사용하는 것을 선호 :
my.table <- read.table(text = '
model npar AICc
AA(~region+state+county+city)BB(~region+state+county+city)CC(~1) 17 11111.11
AA(~region+state+county)BB(~region+state+county)CC(~123) 14 22222.22
AA(~region+state)BB(~region+state)CC(~33) 13 33333.33
AA(~region)BB(~region)CC(~4321) 6 44444.44
', header = TRUE, stringsAsFactors = FALSE)
desired.result <- read.table(text = '
model CC npar AICc
AA(~region+state+county+city)BB(~region+state+county+city) CC(~1) 17 11111.11
AA(~region+state+county)BB(~region+state+county) CC(~123) 14 22222.22
AA(~region+state)BB(~region+state) CC(~33) 13 33333.33
AA(~region)BB(~region) CC(~4321) 6 44444.44
', header = TRUE, stringsAsFactors = FALSE)
split.model <- strsplit(my.table$model, 'CC\\(')
split.models <- matrix(unlist(split.model), ncol=2, byrow=TRUE, dimnames = list(NULL, c("model", "CC")))
desires.result2 <- data.frame(split.models, my.table[,2:ncol(my.table)])
desires.result2
# model CC npar AICc
# 1 AA(~region+state+county+city)BB(~region+state+county+city) ~1) 17 11111.11
# 2 AA(~region+state+county)BB(~region+state+county) ~123) 14 22222.22
# 3 AA(~region+state)BB(~region+state) ~33) 13 33333.33
# 4 AA(~region)BB(~region) ~4321) 6 44444.44
'sub ('. * (CC. *)', '\\ 1', model)'및'sub ('CC. *' '', 모델)'두 부분을 얻으려면 (두 부분으로 가정) – eddi