#r #string #dataframe #subset
#r #строка #фрейм данных #подмножество
Вопрос:
У меня есть фрейм данных, содержащий названия университетов и различные названия отделов, центров, учреждений. Я хотел бы извлечь все ячейки, содержащие строку «Университет», и сохранить ее как вектор.
Я пробовал функцию grep, но, поскольку я новичок в R, мне не удалось написать правильную функцию, работающую по нескольким столбцам фрейма данных.
Это мой пример:
V1 = c("asdad","department of x", "University of California",
"daadasda")
V2 = c("aadasd","Florence University", "University of Seattle", "NA")
V3 = c ("aadasd","asdasdasd", "asdasdadads", "fsdfsdfsdf")
V4 = c ("University of California","Department of g", "asdasd", "sdfsdfsf")
df = as.data.frame(cbind(V1,V2,V3,V4))
Ожидаемый результат:
Universities: University of California, University of Seattle, Florence University, University of California
Фрейм данных содержит более или менее случайно разбросанные названия университетов, которые я хотел бы извлечь в один вектор. Поскольку меня также интересует количество вхождений в конкретные университеты, желательно повторять имена в векторе.
Ответ №1:
Мы можем unlist
data.frame и grep
для `University’
out <- data.Frame(Universities = grep("University", unlist(df),
ignore.case = TRIE. value = TRUE))
Комментарии:
1. Это именно то простое решение, которое я изо всех сил пытался найти. Большое вам спасибо!