小编Joh*_*nry的帖子

使用 `mutate` 使用命名向量创建列副本

我有一个tibble和一个命名向量。我想使用向量名称复制命名向量中的所有列,同时保留原始名称。

我知道如何相当简单地重命名所有列:

library(dplyr)

named_vector <- 
  c("var1" = "x1",
    "var2" = "x2",
    "var3" = "x3")

tibble(x1 = 1:3, x2 = 1:3, x3 = 1:3, z = 68, zz = 69) %>% 
  rename(!!!named_vector)
#> # A tibble: 3 x 5
#>    var1  var2  var3     z    zz
#>   <int> <int> <int> <dbl> <dbl>
#> 1     1     1     1    68    69
#> 2     2     2     2    68    69
#> 3     3     3     3    68    69
Run Code Online (Sandbox Code Playgroud)

reprex 包(v0.3.0)于 2021 …

r names dplyr

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

将 tidyeval 参数转换为字符串

我在 R 中有一个...使用 tidyeval 的简单函数。是否可以将这些更改为字符串?

simple_paste <- function(...){
  my_vars <- enquos(...)
  paste(..., sep = "_x_")
}
Run Code Online (Sandbox Code Playgroud)

simple_paste(hello, world)

作为输出,我想得到"hello_x_world". 我也可以考虑使用glue函数 orstr_c代替paste,尽管我不确定这会更好。

r stringr tidyeval r-glue

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

是否可以在不给对象的情况下运行函数?

我想知道是否有运行该功能的任何功能。

例如,如果我可以编写的最简单的函数是:

function(){
  print("hello world")
}
Run Code Online (Sandbox Code Playgroud)

但是据我所知,“运行”此功能的唯一方法是运行以下命令:

my_fun <- function(){
  print("hello world")
}

my_fun()
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在不给函数一个对象的情况下实现此结果?直觉上,我认为这和它没什么不同%>%,但是我在思考如何做到这一点时遇到了麻烦。是否可以通过管道运行该函数而不给它自己的对象?

r function dplyr

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

如何交换R中命名向量的名称和值?

我有兴趣交换向量的名称和值

y <- c(a = "Apple", b = "Banana")
Run Code Online (Sandbox Code Playgroud)

相反,我希望代码创建等效于

y <- c(Apple = "a", Banana = "b")
Run Code Online (Sandbox Code Playgroud)

我看到有是invert在功能searchable,但是这似乎并不像它的R第4版还没有被更新。

r vector

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

如何将索引保持在向量范围内?

如何循环索引向量?

我有一个数字向量。我想一次索引这个向量(例如,i[1]、i[2] ...)。但是,在index_n > length(i)我希望索引再次“循环”回到向量之后。

i = c("cat", "dog", "ghost")
i[4] # 4 is 1 greater than than the length of the vector, i want to return the first element "cat"
## > NA
Run Code Online (Sandbox Code Playgroud)

有很多方法可以用逻辑语句来做到这一点。我想知道是否已经有一个功能可以做到这一点。

r

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

有没有办法阻止本机管道中的“View”在 RStudio 中生成新选项卡?

我已经适应在 R 和 RStudio 中使用新的本机管道。然而,当我直接通过管道进入View它时,会创建一个独特的新选项卡,该选项卡一直弄乱了我的窗口。是否有办法限制新的管道运算符仅更新单个选项卡,就像以前的管道运算符 ( %>%) 所做的那样?

r pipe rstudio

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

标签 统计

r ×6

dplyr ×2

function ×1

names ×1

pipe ×1

r-glue ×1

rstudio ×1

stringr ×1

tidyeval ×1

vector ×1