R - добавить строку в список - PullRequest
0 голосов
/ 17 июня 2020

если есть вектор (данный) слов, и я хочу добавить слова в другой вектор, когда строка начинается с гласной:

given = c("abc","def","oba") 
expected=c("abc","oba")

Я использую следующий код в R:

expected=""
given = c("abc","def","oba")


for (i in  1:length(given)){
  start=substring(given[i], 1, 1)
  if(start == "a" ||start == "e"|| start == "i" ||start == "o" ||start == "u")
  {
  expected[i]<-given[i]

  }
  else
  {
    ""
  }
}

Результат:

[1] "abc" NA    "oba

И я хотел иметь

[1] "abc" "oba

Может ли кто-нибудь помочь мне создать вектор без NA?

Как мне сделать это со списком?

1 Ответ

1 голос
/ 17 июня 2020

Здесь вы можете использовать grepl:

given <- c("abc", "def", "oba")
expected <- given[grepl("^[aeiou]", given, ignore.case=TRUE)]
expected

[1] "abc" "oba"

Шаблон регулярного выражения ^[aeiou] будет соответствовать любой строке, начинающейся с гласной буквы (в верхнем или нижнем регистре).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...