Как сопоставить имена строк информационного кадра с текстом, встроенным в имена строк другого информационного кадра, и извлечь полные строки - PullRequest
0 голосов
/ 23 марта 2020

В RI есть фрейм данных со значениями индекса в виде имен строк (называемый индексом), который выглядит примерно так:

index
  [1] "F0000014" "F0000015" "F0000024" "F0000036" ...hundreds more

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

table
  [1] "F0038001" "F0259700;F0259699.3" "F0259699;F0259700.4" "F0259247.4"                                                 
  ...thousands more

Многие из имен строк данных в «индексе» будут соответствовать значениям имен строк «таблицы», и это те строки, которые я хотел бы скопировать из «таблицы» в новый кадр данных «соответствия» .

Сложность состоит в том, что некоторые значения имен строк в табличном фрейме данных имеют под номера (обозначены. #), А некоторые также являются множественными индексными значениями, объединенными вместе с точкой с запятой. Поэтому все, что я хочу требовать для совпадения, это чтобы запрашиваемое значение индекса совпадало где-то в табличном значении, чтобы оно вызывалось как совпадающая строка и, следовательно, копировалось в фрейм данных 'match'.

У меня есть пробовал что-то подобное в R, основываясь на этом предыдущем сообщении Стеки :

for(var in rownames(index))
{
  match <- table[grep(var, rownames(table)), ]
}

Но я получаю ошибку "неверное число измерений".

Я полагаю, что проблема заключается в неправильном указании имен строк таблицы данных неправильно в этой команде, так как это то, что отличается в моем запросе по сравнению с тем в связанном посте. Хотя любая дальнейшая модификация, которую я пробую, кажется, встречается с другой ошибкой.

Буду очень признателен за любую помощь, поскольку я не могу найти синтаксис, который работает!

Большое спасибо.

Андрей

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