Удалить первый элемент, когда sep> - PullRequest
0 голосов
/ 21 октября 2019

У меня есть символьная переменная

   d > r > t > a > t > r > f

И я хочу удалить первый элемент (в данном случае d) из этого выбора. Каков наилучший способ сделать это?

Ответы [ 5 ]

4 голосов
/ 21 октября 2019

Вы можете просто использовать substring


a <- substring(a, 2)
# [1] " > r > t > a > t > r > f"

Данные

a <- "d > r > t > a > t > r > f"

См. ?substring для получения дополнительной информации.

3 голосов
/ 21 октября 2019

В случае, если длина символов между > может быть переменной,

z = "d > r > t > a > t > r > f"
> paste(strsplit(z," > ")[[1]][-1],collapse= " > ")
[1] "r > t > a > t > r > f"

z2 = "dew > rd > tewa > adf > ta > eer > ff"
> paste(strsplit(z2," > ")[[1]][-1],collapse= " > ")
[1] "rd > tewa > adf > ta > eer > ff"
1 голос
/ 21 октября 2019

Вы можете использовать sub с regex , чтобы удалить первый элемент, когда sep>> 1004 *, и оставить все как есть:

sub(".+?> ", "", "d > r > t > a > t > r > f")
#[1] "r > t > a > t > r > f"

или вы можете использовать read.table и удалите первое с помощью подстановки, используя [-1], и разделите его, используя разделитель >, например:

read.table(sep=">", text="d > r > t > a > t > r > f")[-1]
#   V2  V3  V4  V5  V6 V7
#1  r   t   a   t   r   f

или strsplit и trimws:

trimws(strsplit("d > r > t > a > t > r > f", ">")[[1]][-1])
#[1] "r" "t" "a" "t" "r" "f"
0 голосов
/ 21 октября 2019
a <- "d > r > t > a > t > r > f"
substr(r,unlist(gregexpr("[A-z]+\\s*?>\\s*?",r))[2],nchar(r))
0 голосов
/ 21 октября 2019

Предполагая, что вы имеете в виду вектор символов, например vec <- c("d", "r", "t", "a", "t", "r", "f"), просто используйте vec[-1], чтобы удалить первый элемент:

vec <- c("d", "r", "t", "a", "t", "r", "f")
vec[-1]

# [1] "r" "t" "a" "t" "r" "f"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...