小编Dyl*_*ell的帖子

私有组织中的 R 包 - 如何在组织内安装私有依赖项?

我们的 GitHub 组织是私有的,并且正在我们组织的多个不同存储库中开发多个私有 R 包。其中一些包依赖于我们私有组织中的其他存储库。如何设置 GitHub 操作以安装这些私有依赖项?我的描述文件目前包含:

Imports:
    MyPackageDep
Remotes:
    MyOrg/MyPackageDep
Run Code Online (Sandbox Code Playgroud)

我的 GitHub 操作的相关部分.yaml是:

  - name: Install dependencies
    run: |
      remotes::install_deps(dependencies = TRUE)
      remotes::install_cran("rcmdcheck")
    shell: Rscript {0}
Run Code Online (Sandbox Code Playgroud)

我尝试通过将我的 PAT 存储在一个文件中来遵循这篇 SO 帖子的建议.Renviron。但这不仅仍然不起作用,我仍然不确定这将如何与包的多个贡献者一起工作。请问他们都只是需要建立自己的地方GITHUB_PAT自己.Renviron

我还尝试通过在我的 GitHub 工作流程中包含以下内容来遵循此GitHub 问题的建议:

 env:
      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)

工作流仍然无法下载依赖项。

无论如何,GitHub Secrets 是否可以预先配置存储库以访问组织中的所有其他私有存储库?

r github github-actions

13
推荐指数
1
解决办法
241
查看次数

R 对数据表的列进行洗牌和随机化

给定一个data.table例如:

data.table::data.table(a = c(1,2,3), b = c("red","blue","yellow"), c = c(TRUE, FALSE, TRUE), d = c(21, 45, 34, 26))

   a      b     c  d
1: 1    red  TRUE 21
2: 2   blue FALSE 45
3: 3 yellow  TRUE 34
4: 4  green FALSE 26
Run Code Online (Sandbox Code Playgroud)

哪里a是唯一的行标识符,我如何随机化/匿名化数据,以便列在它们自己的列中随机排列。这将创建一个data.table看起来像这样的随机数:

   a      b     c  d
1: 1  green  TRUE 26
2: 2 yellow FALSE 45
3: 3    red FALSE 21
4: 4   blue  TRUE 34
Run Code Online (Sandbox Code Playgroud)

r data.table

5
推荐指数
1
解决办法
116
查看次数

在 purrr 中创建 RMarkdown 标头和代码块

以下.Rmd是我认为应该产生我正在寻找的内容:

---
title: "Untitled"
date: "10/9/2021"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)

full_var <- function(var) {
  cat("### `", var, "` {-} \n")
  cat("```{r}", "\n")
  cat("print('test')", "\n")
  cat("```", "\n")
}

vars <- c("1", "2", "3")
```

```{r results = "asis"}
purrr::walk(vars, full_var)
```
Run Code Online (Sandbox Code Playgroud)

相反,它看起来像:

例子

为什么print('test')不进行评估而是将其呈现为代码块?

r r-markdown

5
推荐指数
1
解决办法
923
查看次数

通过 R 将数据上传到 PostgresSQL 12 的最快方法

我使用以下代码连接到 PostgreSQL 12 数据库:

con <- DBI::dbConnect(odbc::odbc(), driver, server, database, uid, pwd, port)
Run Code Online (Sandbox Code Playgroud)

这将我连接到 Google Cloud SQL 上的 PostgreSQL 12 数据库。然后使用以下代码上传数据:

DBI::dbCreateTable(con, tablename, df)
DBI::dbAppendTable(con, tablename, df)
Run Code Online (Sandbox Code Playgroud)

其中df是我在 R 中创建的数据框。该数据框由约 550,000 条记录组成,总计 713 MB 数据。

通过上述方法上传时,以每秒40次写入操作的速度,大约需要9个小时。有没有更快的方法将此数据上传到我的 PostgreSQL 数据库(最好通过 R)?

postgresql odbc r google-cloud-sql

4
推荐指数
1
解决办法
1283
查看次数

在 Unity 中围绕对象移动相机

这里以前的帖子似乎没有解决我的问题。

我试图让我的相机围绕一个称为“目标”的特定点移动。Target 是一个设置在我游戏中心的空游戏对象。这个想法是相机不会靠近或远离目标,而是简单地围绕目标旋转,就好像它在围绕一个不可见的球体移动一样。相机应始终指向目标。transform.LookAt(target)保持相机对目标进行训练很好,但我无法正确移动。无论我是沿着水平轴还是垂直轴移动,它总是直接螺旋进入目标,而不仅仅是绕着它移动。有任何想法吗?

public class CameraController : MonoBehaviour {

public float speed;
public Transform target;

void Update () {
    transform.LookAt(target);

    if(Input.GetAxis("Vertical") != 0)
    {
        transform.Translate(transform.up * Input.GetAxis("Vertical") * Time.deltaTime * speed); //.up = positive y
    }

    if(Input.GetAxis("Horizontal") != 0)
    {
        transform.Translate(transform.right * Input.GetAxis("Horizontal") * Time.deltaTime * speed); //.right = positive x
    }
}
}
Run Code Online (Sandbox Code Playgroud)

unity-game-engine

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

R 在粘合语句中使用 bang-bang

我想创建一个简单的函数,它接受一个数据框和用户为该数据框中的两列提供的名称。目的是让它能够轻松地与dplyr管道一起工作。它将生成一个粘合字符串的字符向量:

func <- function(data, last, first) {
  last <- rlang::enquo(last)
  first <- rlang::enquo(first)
  
  glue::glue_data(data, "{!!last}, {!!first}")
}
Run Code Online (Sandbox Code Playgroud)

我理想地希望用户能够调用:

df %>% func(lastName, firstName)
Run Code Online (Sandbox Code Playgroud)

这将生成一个由多个值组成的字符向量,格式为Smith, John.

我的函数目前不起作用,因为 bang-bang 运算符在 的上下文中不起作用glue_data。在仍然使用 NSE 的同时如何解决这个问题?我收到的错误是:

Error: Quosures can only be unquoted within a quasiquotation context.

代表:

df <- data.frame(lastName = c("Smith", "Bond", "Trump"), firstName = c("John","James","Donald"))

> df
  lastName firstName
1    Smith      John
2     Bond     James
3    Trump    Donald
Run Code Online (Sandbox Code Playgroud)

预期产出

> glue::glue_data(df, "{lastName}, {firstName}")

Smith, John
Bond, James
Trump, …
Run Code Online (Sandbox Code Playgroud)

r nse rlang r-glue

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

geom_text 未标记躲避的 geom_bar

我似乎无法让 geom_label 来标记躲避条形图CLASS(该图被“躲避”的因素)。相反,我得到了count每个PROCY轴)的总数:

ggplot(data = df, mapping = aes(x = PROC)) +
geom_bar(mapping = aes(fill = CLASS), position = "dodge") +
geom_text(stat = "count", aes(x = PROC, label = ..count..)) +
theme(axis.title.y = element_blank(),
    axis.title.x = element_blank(),
    axis.ticks.y = element_blank(),
    axis.ticks.x = element_blank(),
    axis.text.x =  element_blank()) + 
scale_x_discrete(labels = function(x) str_wrap( 
    PROC.Labels, 
    width = 10)) +
coord_flip() 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

此外,我不知道为什么 105geom_text标签会出现在此条形图的右侧。

r ggplot2

2
推荐指数
1
解决办法
960
查看次数

dplyr 唯一条目的运行计数

df <- readr::read_table("
date        caseID  subjectID   yr
2018-12-12  47582   000c15d0    4   
2018-12-12  47582   000c15d0    4   
2018-12-12  47584   000c15d0    4   
2018-12-12  47591   000c15d0    4   
2018-12-12  47594   000c15d0    4   
2018-12-12  47610   000c15d0    4   
2016-02-25  5222    0038263c    4   
2016-02-25  5222    0038263c    4   
2016-02-25  5223    0038263c    4   
2016-02-25  5223    0038263c    4")

Run Code Online (Sandbox Code Playgroud)

给定上述数据框,我需要创建一个列n_tot,该列创建每个条目总条目数的运行计数,subjectID以及一个n_case创建所有唯一caseID条目的运行计数的列。结果想:

date        caseID subjectID   yr n_tot n_case
2018-12-12  47582   000c15d0    4     1      1
2018-12-12  47582   000c15d0    4     2      1
2018-12-12  47584   000c15d0    4     3      2 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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