Условное объединение в фрейме данных R с использованием строки в качестве поиска - PullRequest
1 голос
/ 12 октября 2011

Я готовлю базу данных для построения графика в ggplot, где я буду строить большой geom_point() график. Я хотел бы выделить один набор точек и подумывал о создании фиктивного столбца, чтобы я мог использовать этот столбец в качестве цветовой переменной, как в:

p <- ggplot(data, aes(x-x,y-y,color=color)
colors=c("yes"="orange2", "no"="grey")
scale_color_manual(values=colors)

чтобы создать фиктивный столбец, я хотел сделать следующее:

df$color <- "no"

, чтобы установить цвет по умолчанию, а затем использовать замену grep для выделения цвета.

df$color[grep("string", df$V1, ignore.case=T),] < "yes"

где V1 - это столбец, содержащий строку, которую я хотел бы заменить. Хотя мне бы хотелось получить несколько предложений о том, как получить замену, мне также было бы интересно узнать о более прямом методе окрашивания, который включал бы выделение данных определенного значения.

спасибо

1 Ответ

0 голосов
/ 12 октября 2011

Вот один из способов сделать это, используя grepl.Я использую набор данных mtcars в иллюстративных целях.Скажем, вы хотите, чтобы Merc выделялся.Вы можете позвонить

ggplot(mtcars, aes(mpg, hp)) +
  geom_point(aes(colour = grepl('Merc', rownames(mtcars)))) +
  scale_colour_manual("Merc", values = c('black', 'red'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...