У меня есть эти данные:
USDfirms <- c("GOOG", "BABA" "0071.TW")
TWRfirms <- c("3231.TW")
JPYfirms <- c("7752.T")
Я пытаюсь использовать функцию grepl
для создания нового столбца.Поэтому, если ticker
в данных df
соответствует фирме 3231.TW
в одном из 3 приведенных выше строковых векторов, присвойте значение (TWRmatch
) или если ticker
соответствует фирме GOOG
, присвойте значение USDmatch
и т. д.
Значения ticker
не всегда идеально подходят, т. е. ticker
3231 не является точным соответствием для 3231.TW
, поэтому я хочу использовать grepl
, чтобы игнорировать.TW при сопоставлении.
df <- structure(list(symbol = c("3231.TW", "3231.TW", "3231.TW", "3231.TW",
"7752.T", "7752.T", "7752.T", "7752.T", "GOOG", "GOOG", "GOOG",
"GOOG", "BABA", "BABA", "BABA", "BABA"), ticker = c("3231", "3231",
"3231", "3231", "7752", "7752", "7752", "7752", "GOOG", "GOOG",
"GOOG", "GOOG", "BABA", "BABA", "BABA", "BABA"), country = c("TW",
"TW", "TW", "TW", "T", "T", "T", "T", NA, NA, NA, NA, NA, NA,
NA, NA), year = c(2017L, 2016L, 2015L, 2014L, 2018L, 2017L, 2016L,
2015L, 2017L, 2016L, 2015L, 2014L, 2018L, 2017L, 2016L, 2015L
)), .Names = c("symbol", "ticker", "country", "year"), row.names = c(1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 123L, 124L, 125L, 126L, 127L, 128L,
129L, 130L), class = "data.frame")
РЕДАКТИРОВАТЬ:
Эта функция не работает
ifelse(grepl(USDfirms, df$ticker), "yes", "no")
У меня также есть treid:
df$match <- ifelse(USDfirms %in% x$ticker, "yes", "no")
Что даёт мне да за всё.