小编t.k*_*ski的帖子

如何使用赋值运算符结束管道?

我想在R中使用赋值运算符结束管道

我的目标(在伪R中):

data %>% analysis functions %>% analyzedData
Run Code Online (Sandbox Code Playgroud)

其中data和analyzeData都是data.frame.

我尝试了一些这方面的变种,每个都给出了一个独特的错误信息.我试过的一些迭代:

data %>% analysis functions %>% -> analyzedData
data %>% analysis functions %>% .-> analyzedData
data %>% analysis functions %>% <-. analyzedData
data %>% analysis functions %>% <- analyzedData
Run Code Online (Sandbox Code Playgroud)

错误消息:

Error in function_list[[k]](value) : 
  could not find function "analyzedData"
Error: object 'analyzedData' not found
Error: unexpected assignment in: ..
Run Code Online (Sandbox Code Playgroud)

更新:我想出这样做的方式是:

data %>% do analysis %>% {.} -> analyzedData
Run Code Online (Sandbox Code Playgroud)

这样,要对长管道进行故障排除/调试,可以将这两行放入管道中,以最大限度地减少代码重新运行并隔离问题.

data %>% pipeline functions %>% 
   {.}-> tempWayPoint
   tmpWayPoint %>% 
more pipeline functions …
Run Code Online (Sandbox Code Playgroud)

r dplyr magrittr

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

基数R中的正则表达式:'perl = TRUE'与默认值(PCRE与TRE)

当使用基础R串的功能,如gsubgrep,是否有任何缺点,因为习惯问题,总是指定perl = TRUE?这有什么缺点吗?

有了perl=TRUE,表达式可以做更多的事情(例如,你可以使用前瞻或后面的断言,或者你可以进行大小写转换\\U),并且性能也更快,正如文档所述.

那么,有什么缺点吗?这perl = TRUE不是默认的向后兼容性吗?当perl = TRUE时,我是否应该注意可移植性问题?

regex r

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

为数组和原子向量定义自定义打印方法

我想为数组定义一个不同的打印方法,但我担心我不了解S3调度.如果我明确地调用print(x),则会调用我的自定义打印方法,但如果我只是在控制台上键入x,则不会调用它.但是,如果我定义自定义S3类,则调用适当的print方法.

如果我尝试为print.numeric定义一个方法,会发生类似的事情

这是一个最小的例子:

print.array <- function(x, ...) cat("Hi!\n")

x <- array(1:8, c(2,2,2) )

print(x) # the print method defined above is called
# Hi!
x        # the print method defined above is NOT called
Run Code Online (Sandbox Code Playgroud)

有没有人对正在发生的事情有任何见解?x在控制台上进行评估时,实际进行打印的功能是什么?

r r-s3

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

为什么`[<-`不能重新排序数据框列?

为什么这不起作用?

df <- data.frame(x=1:2, y = 3:4, z = 5:6)
df[] <- df[c("z", "y", "x")]
df
#>   x y z
#> 1 5 3 1
#> 2 6 4 2
Run Code Online (Sandbox Code Playgroud)

请注意,名称是原始顺序,但数据本身已更改顺序.

这很好用

df <- data.frame(x=1:2, y = 3:4, z = 5:6)
df[c("z", "y", "x")]
#>   z y x
#> 1 5 3 1
#> 2 6 4 2
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×4

dplyr ×1

magrittr ×1

r-s3 ×1

regex ×1