Как подмножество, используя частично совпадающие строки? - PullRequest
1 голос
/ 05 августа 2020

Я пытаюсь выделить участников, которые классифицируются как N JS или ELJ, за которыми следует номер, например, NJS1, NJS2, ELJ8, ELJ25 и c. Я помню, что я ищу символ, который означает «выбранные ячейки содержат« XYZ », за которым следует что-нибудь», что позволяет разделить моих участников на две группы. Я пробовал следующее, но безрезультатно.

NJSBio = subset(biography, biography$`L1(s)` == "NJS#")
//
NJSBio = subset(biography, biography$`L1(s)` == "NJS?")
//
NJSBio = subset(biography, biography$`L1(s)` == "NJS*")

Я пытался найти ответ с помощью функции «Справка» в RStudio и с помощью Google, но предполагаю, что мои условия поиска слишком расплывчаты . Может ли кто-нибудь помочь обновить sh мою память?

1 Ответ

1 голос
/ 05 августа 2020

Если столбцы называются L1(s), вы можете попробовать:

library(dplyr)
NJSBio = filter(biography, grepl("NJS.*", `L1(s)`))

Или адаптировать последний из ваших параметров

NJSBio = subset(biography, grepl("NJS.*", biography$`L1(s)`))

также должно работать.

Но чтобы избежать проблем и в качестве более общего комментария, лучше избегать использования круглых скобок в именах переменных.

...