小编Moo*_*per的帖子

dplyr :: filter“未注册tidyselect变量”

我正在尝试使用该dplyr::filter()功能来过滤我的小标题的特定行。

这是我的小标题的一部分head(raw.tb)

A tibble: 738 x 4
      geno   ind     X     Y
     <chr> <chr> <int> <int>
 1 san1w16    A1   467   383
 2 san1w16    A1   465   378
 3 san1w16    A1   464   378
 4 san1w16    A1   464   377
 5 san1w16    A1   464   376
 6 san1w16    A1   464   375
 7 san1w16    A1   463   375
 8 san1w16    A1   463   374
 9 san1w16    A1   463   373
10 san1w16    A1   463   372
# ... with 728 more rows
Run Code Online (Sandbox Code Playgroud)

当我要求: raw.tb %>% dplyr::filter(ind == …

regex r dplyr tidyverse tidyselect

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

检测图像中的颜色

我想让 R 在图像的一部分中检测给定的颜色。

我一直在阅读有关 RGB 方案的信息,但我认为可能会有一个包或一种方法让 R 检测一组像素,例如,黄色发生的地方。

有没有解决方案,或者我只是被困在 RGB 中?

谢谢。

r image colors image-processing

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

基于非引用拼接排除多个列(!!!)

试图排除

  • 调用中的多个tidyr::gather()
  • 它通过字符向量参数(输出shiny::selectInput)而不是via 作为我的函数的输入...
  • 程序化的方式

如何通过整洁的eval功能实现这一目标?

由于我经由单个函数参数传递多个列名,以为需要使用!!!(引文结束剪接)而不是!!如在奠定了与dplyr编程.但这似乎并没有很好地发挥作用,tidyselect::vars_select()而且似乎-造成了麻烦.

这是我想要做的基本事情:

library(magrittr)
gather_data_1 <- function(dat, ...) {
  dat %>% tidyr::gather("key", "value", ...)
}
mtcars %>% gather_data_1(-mpg, -cyl) %>% head()
#>    mpg cyl  key value
#> 1 21.0   6 disp   160
#> 2 21.0   6 disp   160
#> 3 22.8   4 disp   108
#> 4 21.4   6 disp   258
#> 5 18.7   8 disp …
Run Code Online (Sandbox Code Playgroud)

r tidyr tidyeval tidyselect

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

通过knitr通过循环创建节

请参见以下可重现的示例:

---
title: "test"
output: html_document
---

## foo

```{r}
plot(1:3)
```

## bar

```{r}
plot(4:7)
```

## baz

```{r}
plot(8:12)
```
Run Code Online (Sandbox Code Playgroud)

我希望能够自动创建这些部分,因为在进一步分析之前我不知道它们的数量。

我的输入是:

my_list   <- list(foo = 1:3, bar = 4:7, baz = 8:12)
my_fun    <- plot
my_depth  <- 2
Run Code Online (Sandbox Code Playgroud)

理想的答案(尽管我欢迎任何改进)将帮助我构建一个mdapply函数,以便可以运行:

```{r}
mdapply(X = my_list, FUN = my_fun, title_depth = my_depth)
```
Run Code Online (Sandbox Code Playgroud)

并获得相同的输出。

markdown r knitr r-markdown

3
推荐指数
2
解决办法
602
查看次数

在data.table包中实现点函数`.()`

来自?data.table::data.table:

表达式'.()'是list()的简写别名; 他们俩都是一样的

但是这个功能无处可寻:

data.table:::.
Run Code Online (Sandbox Code Playgroud)

get中的错误(name,envir = asNamespace(pkg),inherits = FALSE):
object'.' 未找到

所以我想输入是以某种方式解析的,它是如何完成的?我想在我自己的包中使用相同的功能.

以下工作也不错:

test  <- function(x) {
  eval(substitute(
    eval.parent(substitute(x, list(.=list)))
    ))
}

foo <- "bar"
test(.(foo))
# [[1]]
# [1] "bar"
identical(test(.(foo)), list(foo))
# [1] TRUE
Run Code Online (Sandbox Code Playgroud)

但是在这个点函数中会有一些点变量,这会失败:

. <- "baz"
test(.(foo,.))
# [[1]]
# [1] "bar"
# 
# [[2]]
# function (...)  .Primitive("list")
Run Code Online (Sandbox Code Playgroud)

预期:

# [[1]]
# [1] "bar"
# 
# [[2]]
# [1] "baz"
Run Code Online (Sandbox Code Playgroud)

r function data.table

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

如何列出通话中使用的所有符号?

我想列出通话中使用的所有符号或名称。

我发现了以下方法,但是肯定有更惯用或有效的方法吗?

expr <- quote(a + b * (a / b))
expr <- as.list(expr)
while(!identical(expr, (expr <- unlist(lapply(expr,as.list))))){}
unique(expr)
#> [[1]]
#> `+`
#> 
#> [[2]]
#> a
#> 
#> [[3]]
#> `*`
#> 
#> [[4]]
#> b
#> 
#> [[5]]
#> `(`
#> 
#> [[6]]
#> `/`
Run Code Online (Sandbox Code Playgroud)

reprex软件包(v0.3.0)创建于2019-08-27

r metaprogramming

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

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

Ada中的= =和=之间有什么区别?

据我所知,:=似乎是通过副本进行分配.运算符=>似乎执行类似的赋值,但在将参数赋值给对象的成员变量时使用.

所以...

receivesTheCopy := isBeingCopied

memberVariable => passedParameter

我正在处理其他人的旧代码,并且我有一个变量达到了一个我从未看到明确分配给它的值:=.我在想,也许当它被赋予memberVariable=>它被引用传递,从而passedParameter变呆绑在memberVariable状态.

ada pass-by-reference colon-equals

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

是否有不同类型的 NA?

我正在使用 Rattle 包进行一些数据清理,并且我正在考虑数据集中的第一个变量 X。它报告说,当我在第一个选项卡“数据”选项卡中执行操作时,我得到了数据集的一些基本信息,它说变量 X 有 1243 个缺失值。这也是我使用sum(is.na(my_df[,1])).

在下一个选项卡“探索”选项卡上,当我选中“摘要”时,它现在说我在变量 X 中只有 942 个 NA。

我如何理解这些不同的数字?我手动浏览了一下我的数据集并查看了一些具有 NA 的行,这些 NA 看起来都一样(我知道有时有不同类型的 NA)。

(附带问题:sum(is.na(my_df[,1]), na.rm = FALSE)而且sum(is.na(my_df[,1]),na.rm = TRUE)两者都产生相同的数字 1243,为什么?我原以为会有一个给我length(my_df[,1])-1243。)


编辑这是有这个问题的数据集:https : //wetransfer.com/downloads/cf454b2c12857a4e3770102a7222422f20171019153755/516fb0

其中的数字略有不同,而不是 1243,根据 Rattle() 中的“数据”选项卡(或等效地,根据summary(ten_df)),我们有 88 个 NA,根据选中“摘要”选项卡的“探索”有 62 个 NA。

但是现在我怀疑我的数据集坏了,因为在上传完整的数据集之前,我本来只想上传一个说明性的专栏。但是当我执行

ten_df = read.csv("ten.csv",sep=";") 
my_df = as.data.frame(ten_df[,3])
Run Code Online (Sandbox Code Playgroud)

由于我想查看第三列,var2并且my_df是我最初想要上传的内容,因此最后一个命令返回错误

Warning messages:
1: In rep(no, length.out = length(ans)) :
  'x' is NULL so the result …
Run Code Online (Sandbox Code Playgroud)

r missing-data dataframe na rattle

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

如何在会话之间方便地移动对象

在理想的工作流程中,这显然不是建议,但有时它可能很有用。

可以轻松完成吗?

r

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