我正在尝试使用ggvis重现ggplot2图.该图旨在表示点的坐标(来自对应分析)以及它们的簇(hclust)标准色散椭圆.
我想基于多个数据集制作一个包含多个图层的ggvis图.因此,功能/管道方法阻止我分组其中一个层而不是另一个.
整个(简要评论)代码在那里:https://gist.github.com/RCura/a135446cda079f4fbc10
这是创建数据的代码:
a <- rnorm(n = 100, mean = 50, sd = 5)
b <- rnorm(n = 100, mean = 50, sd = 5)
c <- rnorm(n = 100, mean = 50, sd = 5)
mydf <- data.frame(A = a, B = b, C = c, row.names = c(1:100))
library(ade4)
myCA <- dudi.coa(df = mydf,scannf = FALSE, nf = 2)
myDist <- dist.dudi(myCA, amongrow = TRUE)
myClust <- hclust(d = myDist, method = …Run Code Online (Sandbox Code Playgroud) 我希望能够以编程方式使用dplyr's case_when来替换基本R cut()函数.
目前,case_when可以通过NSE与外部参数一起使用,如:
library(dplyr)
library(rlang)
patterns <- list(
x <= 2 ~ "<=2",
x <= 4 ~ "2<->4",
x > 4 ~ ">4"
)
x <- 1:10
case_when(!!!patterns)
Run Code Online (Sandbox Code Playgroud)
我想要做的是:在变异中使用另一个变量
这个想法会是这样的,虽然我无法弄清楚如何让它工作:
library(dplyr)
patterns_lazy <- list(
!!quo(x) <= 2 ~ "<=2",
!!quo(x) <= 4 ~ "2<->4",
!!quo(x) > 4 ~ ">4"
)
x <- "cyl"
mtcars %>% mutate(ABC = case_when(!!!patterns_lazy))
Run Code Online (Sandbox Code Playgroud)
我希望能够定义我想要过滤的列(在字符串内),并检索这样的东西(这个例子不起作用,因为它是所需的语法):
x <- "cyl"
mtcars %>%
select(cyl) %>%
mutate(ABC = case_when(!!!patterns_lazy)) %>%
head()
cyl ABC
1 6 …Run Code Online (Sandbox Code Playgroud)