tstrsplit sep at positions

Open
#4,867 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
r
Domain
data

Research direction

Start with the tstrsplit entry point and its existing separator handling. Check the linked tidyr example and the desired call using sep = c(4, 6), then define done as splitting strings at those positions into the requested columns while preserving the demonstrated output.

Written by the indexing model from the issue text.

Description

feature request

Similar to tidyr::separate with sep argument as integer positions to split on, see example post at SO

Using the example from SO:

library(data.table)
dt <- fread("
DATE PRCP
19490101   25
19490102    5
19490118   18
19490119  386
19490202   38")

#expected output
library(tidyr)
dt %>% 
  separate(DATE, c("Year", "Month", "Day"),
           sep = c(4, 6), remove = FALSE)
#        DATE Year Month Day PRCP
# 1: 19490101 1949    01  01   25
# 2: 19490102 1949    01  02    5
# 3: 19490118 1949    01  18   18
# 4: 19490119 1949    01  19  386
# 5: 19490202 1949    02  02   38

Desired syntax similar to tidyr, something like this using tstrsplit:

dt[, c("Year", "Month", "Day") := tstrsplit(DATE, sep = c(4, 6)) ]

Edit: Above date example might not be the best for such feature, as we could just convert it to date class and avoid messing around with splitting. Here is another more relevant SO post.

Dominant language
R
Stars
3.9k
Forks
1.1k
Avg merge
14h 4m
Merged PRs (30d)
4

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Rdatatable/data.table

All issues in Rdatatable/data.table

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.