Я пытаюсь выполнить простую задачу по извлечению определенных элементов из списка, но проблема в том, что некоторые имена элементов имеют одинаковые буквы, но разные цифры.Вместо того, чтобы вводить все возможные комбинации, я хочу использовать подстановочный знак для представления любого числа.
Итак, вот часть списка, из которого я хочу получить элементы:
frame@description= $`$TOT`
[1] "100000"
$`$BEGINSTEXT`
[1] "0"
$`$ENDSTEXT`
[1] "0"
$`$NEXTDATA`
[1] "0"
$`$BEGINANALYSIS`
[1] "0"
$`$ENDANALYSIS`
[1] "0"
$`$BEGINDATA`
[1] "3851"
$`$ENDDATA`
[1] "24003850"
$`$P1N`
[1] "Time"
$`$P1B`
[1] "32"
$`$P1E`
[1] "0,0"
$`$P1R`
[1] "524288"
$`$P2N`
[1] "Event-length"
$`$P2B`
[1] "32"
$`$P2E`
[1] "0,0"
$`$P2R`
[1] "4096"
$`$P3N`
[1] "Y89Di"
$`$P3S`
[1] "89Y"
$`$P3B`
[1] "32"
Вот вектор элементов, которые я хочу вытащить:
requiredKeys = c("$BEGINANALYSIS","$BEGINDATA","$BEGINSTEXT","$BYTEORD","$DATATYPE","$ENDANALYSIS","$ENDDATA","$ENDSTEXT","$MODE","$NEXTDATA","$PAR","$P*B","$P*E","$P*N","$P*R","$TOT")
Как видите, в списке есть $P1N
, $P2N
, $P3N
и т. Д., Которые я хочу представитьэто с $P1*N
или $P[0-9]N
в VECTOR, но это не сработает, если я просто наберу его таким образом.
Если я наберу frame@description[requiredKeys]
, я получу все необходимые элементы, кроме тех, которые имеют подстановочный знак.
Мне интересно, есть ли простой способ сделать это так, как я его настроил, или мне придется использовать grep, grepl или что-то подобное.
Любая помощь очень ценится.Спасибо.