小编cte*_*a01的帖子

可视化R函数依赖项

想要可视化包依赖关系的人有很多资源,但我特别感兴趣的是可视化包中的函数以及它们之间的依赖关系.有一些像miniCRAN这样的工具用于绘制包依赖关系,但是包中是否有可用于图函数依赖的东西?

例如,假设我的包中只有两个函数.

func1 <- function(n) return(LETTERS[n])
func2 <- function(n) return(func1(n%%26+1))
Run Code Online (Sandbox Code Playgroud)

然后我只想要一个带有两个标记节点的图形和连接它们的边缘,描绘了func2on 的依赖性func1.

我认为有很多软件包具有非常强大的功能依赖性,这样的实用程序可以帮助理解/组织/重构/等.

谢谢.

dependencies r graph function

15
推荐指数
3
解决办法
3042
查看次数

如何在 ggplot2 中自动生成新几何图例?

我已经构建了这个新的ggplot2几何层,我称之为geom_triangles(参见https://github.com/ctesta01/ggtriangles/),它根据美学绘制等腰三角形,包括三角形的x, y, z高度z和等腰三角形的底边的中点图表上的 (x,y)。

我想要的是geom_triangles()图层自动提供三角形高度和宽度的图例组件,但我不知道如何做到这一点。

根据此参考资料,我了解我可能需要调整对象draw_key中的参数ggproto StatTriangles,但我不确定如何做到这一点,并且似乎无法在网上找到如何做到这一点的示例。我一直在查看这些函数的源代码,但我不确定如何在.ggplot2draw_keydraw_keyStatTriangles ggproto

library(ggplot2)
library(magrittr)
library(dplyr)
library(ggrepel)
library(tibble)
library(cowplot)
library(patchwork)

StatTriangles <- ggproto("StatTriangles", Stat,
  required_aes = c('x', 'y', 'z'),
  compute_group = function(data, scales, params, width = 1, height_scale = .05, width_scale = .05, angle = 0) {

    # specify default width
    if (is.null(data$width)) data$width <- 1

    # for each row of …
Run Code Online (Sandbox Code Playgroud)

plot r legend ggplot2 ggproto

9
推荐指数
1
解决办法
235
查看次数

在文件输出中使用 SBATCH 作业名称作为变量

通过 SBATCH,您可以使用以下语法在自动生成的输出文件中使用作业 ID %j

#!/bin/bash
# omitting some other sbatch commands here ... 
#SBATCH -o slurm-%j.out-%N # name of the stdout, using the job number (%j) and the first node (%N)
#SBATCH -e slurm-%j.err-%N # name of the stderr, using job and first node values
Run Code Online (Sandbox Code Playgroud)

我一直在寻找类似的语法来使用作业名称而不是作业 ID。有谁知道样式%j语法中可以引用哪些其他 slurm/sbatch 值?

slurm sbatch

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

R 中的数字转字母函数

我编写了一个函数,该函数适用于从 1 到 702 的整数,以非常具体的方式将数字转换为字母。以下是我希望刻字功能如何工作的一些示例:

  • 1 -> A,
  • 2 -> B,
  • 27 -> AA,
  • 29 -> 交流电,
  • 等等。

我们使用此功能对报告中的附录进行“编号”/“字母”。我希望使其更加通用,以便它可以处理任何大小的正整数。如果我可以轻松地将原始数字转换为基数 26,这会更容易,但我在 R 中没有看到一种简单的方法。

appendix_lettering <- function(number) {
  if (number %in% 1:26) {
    return(LETTERS[[number]])
  } else if (number %in% 27:702) {
    first_digit <- (floor((number - 1) / 26))
    second_digit <- ((number - 1) %% 26) + 1
    first_letter <- LETTERS[[first_digit]]
    second_letter <- LETTERS[[second_digit]]
    return(paste0(first_letter, second_letter))
  }
}
Run Code Online (Sandbox Code Playgroud)

有谁对我如何最轻松地改进此函数以处理任何正整数(或至少更多)有建议?

r converters letters

3
推荐指数
1
解决办法
1238
查看次数

标签 统计

r ×3

converters ×1

dependencies ×1

function ×1

ggplot2 ×1

ggproto ×1

graph ×1

legend ×1

letters ×1

plot ×1

sbatch ×1

slurm ×1