Как мне указать динамическую позицию для начала подстроки? - PullRequest
5 голосов
/ 09 июня 2010

Как и в примере, я пытаюсь substring столбец Video_full в data.frame (video_data_2), над которым я работаю. Я хочу сохранить все персонажи после периода. Период присутствует всегда, есть только один период, и он находится в разных позициях в каждом значении столбца.

     Date                     Video_full      Instances   
1 Apr 1, 2010  installs/AA.intro_video_1      546         
2 Apr 1, 2010  installs/ABAC.intro_video_2    548      

Я получил подстроку для работы:

video_data_2$Video_full <- substring(video_data_2$Video_full,11)

И strsplit также:

strsplit("installs/AA.intro_video_1 ",'[.]')

Я просто не могу понять, как запустить substring в динамической позиции или сохранить только второе значение, возвращаемое strsplit.

Спасибо за любую помощь, которую вы можете предложить на простой вопрос.

Ответы [ 4 ]

9 голосов
/ 09 июня 2010

вы можете использовать sub ()

video_data_2$Video_full <- sub("^.*\\.","", video_data_2$Video_full)
8 голосов
/ 09 июня 2010

Другой способ использования strsplit

sapply(strsplit(video_data_2$Video_full, "\\."), "[", 2)

что является сокращением от

sapply(strsplit(video_data_2$Video_full, "\\."), function(x) x[2])
5 голосов
/ 10 июня 2010

Попробуйте stringr

library(stringr)
str_split_fixed(video_data_2$Video_full, "\\.", n = 2)[, 2]
3 голосов
/ 09 июня 2010

подход с использованием strsplit

video_data_2$Video_full <- sapply(strsplit(video_data_2$Video_full, "\\."),head)[2,]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...