Zoeken…


Syntaxis

  • strsplit (
  • X
  • spleet
  • vast = ONWAAR
  • perl = ONWAAR
  • useBytes = FALSE)

Invoering

strsplit is een nuttige functie voor het opsplitsen van een vector in een lijst met een bepaald karakterpatroon. Met typische R-tools kan de hele lijst opnieuw worden opgenomen in een data.frame of kan een deel van de lijst worden gebruikt in een grafische oefening.

Hier is een algemeen gebruik van strsplit : breek een karaktervector langs een komma-scheidingsteken:

temp <- c("this,that,other", "hat,scarf,food", "woman,man,child")
# get a list split by commas
myList <- strsplit(temp, split=",")
# print myList
myList
[[1]]
[1] "this"  "that"  "other"

[[2]]
[1] "hat"   "scarf" "food" 

[[3]]
[1] "woman" "man"   "child"

Zoals hierboven aangegeven, is het split-argument niet beperkt tot tekens, maar kan het een patroon volgen dat wordt gedicteerd door een reguliere expressie. Temp2 is bijvoorbeeld identiek aan Temp hierboven, behalve dat de scheidingstekens voor elk item zijn gewijzigd. We kunnen profiteren van het feit dat het split-argument reguliere expressies accepteert om de onregelmatigheid in de vector te verminderen.

temp2 <- c("this, that, other", "hat,scarf ,food", "woman; man ; child")
myList2 <- strsplit(temp2, split=" ?[,;] ?")
myList2
[[1]]
[1] "this"  "that"  "other"

[[2]]
[1] "hat"   "scarf" "food" 

[[3]]
[1] "woman" "man"   "child"

Opmerkingen :

  1. het afbreken van de syntaxis van de reguliere expressie valt buiten het bereik van dit voorbeeld.
  2. Soms kan het matchen van reguliere expressies een proces vertragen. Zoals bij veel R-functies die het gebruik van reguliere expressies mogelijk maken, is het vaste argument beschikbaar om R te laten overeenkomen dat de gesplitste tekens letterlijk overeenkomen.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow