Цель состоит в том, чтобы свернуть/повторно назначить уровни как часть очистки набора данных.Регулярное выражение grep-parsing из 2 переменных
Вот пример:
df <- data.frame(V1 <- c("cat","lion","cat","beast","cat"),
V2 <- c("nice and grumpy","angry","old,but also nice","empty","has friends"),
stringsAsFactors = F); colnames(df) <- c("V1","V2")
>df
V1 V2
1 cat nice and grumpy
2 lion angry
3 cat old,but also nice
4 beast empty
5 cat has friends
Уровень интереса cat
; эти записи:
parse1 <- V1[grepl("cat",V1)]
#[1] "cat" "cat" "cat"
Оттуда, идея заключается в том, чтобы найти атрибут в V2
, nice
, на которой уровень cat
будет переименован в nice cat
. Этот поиск находит 2 записей, представляющих интерес в V2
:
df.sub <- subset(df,V1=="cat",select=V1:V2)
parse2 <- df.sub$V2[grep("([Nn]ice)",df.sub$V2)]
#[1] "nice and grumpy" "old,but also nice"
Идеальный конечный результат был бы df
преобразованные в:
V1 V2
1 nice cat nice and grumpy
2 lion king
3 nice cat old,but also nice
4 beast empty
5 cat has friends
Любые мысли, как достичь этого? Большое спасибо.
Donno как приходит король .. –