[R] Split

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Tue Sep 22 21:07:31 CEST 2020


Hello,

Something like this?


F1$Y1 <- +grepl("_", F1$text)
F1 <- F1[c(1, 2, 4, 3)]
F1 <- tidyr::separate(F1, text, into = c("X1", "X2"), sep = "_", fill = 
"right")
F1


Hope this helps,

Rui Barradas

Às 19:55 de 22/09/20, Val escreveu:
> HI All,
> 
> I am trying to create   new columns based on another column string
> content. First I want to identify rows that contain a particular
> string.  If it contains, I want to split the string and create two
> variables.
> 
> Here is my sample of data.
> F1<-read.table(text="ID1  ID2  text
> A1 B1   NONE
> A1 B1   cf_12
> A1 B1   NONE
> A2 B2   X2_25
> A2 B3   fd_15  ",header=TRUE,stringsAsFactors=F)
> If the variable "text" contains this "_" I want to create an indicator
> variable as shown below
> 
> F1$Y1 <- ifelse(grepl("_", F1$text),1,0)
> 
> 
> Then I want to split that string in to two, before "_" and after "_"
> and create two variables as shown below
> x1= strsplit(as.character(F1$text),'_',2)
> 
> My problem is how to combine this with the original data frame. The
> desired  output is shown   below,
> 
> 
> ID1 ID2  Y1   X1    X2
> A1  B1    0   NONE   .
> A1  B1   1    cf        12
> A1  B1   0  NONE   .
> A2  B2   1    X2    25
> A2  B3   1    fd    15
> 
> Any help?
> Thank you.
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list