Я разбирал неструктурированный текст и разделил фразы на отдельные поля, в первую очередь для удобства чтения. Результирующий фрейм данных выглядит примерно так (то есть содержит NA):
behaviour <- data.frame(field_1 = c("cat eats meal", "cat watches fish", "cat watches frog", NA),
field_2 = c("bird flies away", "cat watches bird", "cat watches fish", NA),
field_3 = c("cat is bored", NA, NA, "cat watches sky"))
Теперь я заинтересован в извлечении всех значений, которые содержат слово «watches», при сохранении структуры набора данных.
watches <- behaviour %>%
map_df(~ str_detect(., "watches"))
Два набора данных выглядят следующим образом:
behaviour
watches
Я хотел бы получить новый фрейм данных, в котором значения в behaviour
сохраняются, только если соответствующие значения в watches
равны TRUE
, а структура исходного фрейма данных сохраняется , Я попытался преобразовать как матрицу, так и подмножество через behaviour[watches]
, но на выходе был символьный вектор, который не имел сохраненной структуры.
Мне интересно, если это как-то связано с mutate_all
на behaviour
, то есть если watches == T
, то вставьте или сохраните оригинал значение в behaviour
?
Заранее спасибо!