Передача имени столбца для заполнения в виде строки с помощью ggvis

ggvis автоматически раскрасит мой график на основе столбца факторов, который я передам. Итак, если бы мой столбец факторов был назван «область», я мог бы написать это, и он отлично выполнился бы.

names = c("Bacilli", "Actinobacteria", "area")
b_counts <- c(1,5,8,100,34,3)
a_counts <- c(1,3,11,55,67,11)
area <- c("Gut", "Skin", "Gut", "Gut", "Skin", "Oral")
rel_data <- data.frame(b_counts, a_counts, area)
names(rel_data) <- names

library(ggvis)
library(dplyr)

rel_data %>% ggvis(x = input_select(names(rel_data[,-3]), map = as.name, label = "X Axis"), 
               y = input_select(names(rel_data[,-3]), map = as.name, label = "Y Axis")) %>%
  filter(area %in% eval(input_checkboxgroup(unique(rel_data$area), selected = "Gut"))) %>%
  layer_points(fill = ~area) ### section of interest

Однако, если я хочу передать имя столбца в виде строки, я не могу заставить его работать. например

region <- "area"
layer_points(fill = ~region)

Я пробовал as.name, eval, quote и т. д., но ничего не получается. У кого-нибудь есть какие-либо идеи?


person Jack Simpson    schedule 04.04.2015    source источник


Ответы (1)


Есть подсказка по свойствам и масштабам:

layer_points(prop("fill", as.name(region)))
person tonytonov    schedule 04.04.2015