小编Rob*_*ura的帖子

ggVis:在不同的数据集上创建具有多个图层的图

我正在尝试使用ggvis重现ggplot2图.该图旨在表示点的坐标(来自对应分析)以及它们的簇(hclust)标准色散椭圆.


TL; DR

我想基于多个数据集制作一个包含多个图层的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)

r ggplot2 ggvis

8
推荐指数
1
解决办法
2350
查看次数

以编程方式使用dplyr :: case_when参数

我希望能够以编程方式使用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)

r dplyr rlang

7
推荐指数
1
解决办法
752
查看次数

标签 统计

r ×2

dplyr ×1

ggplot2 ×1

ggvis ×1

rlang ×1