我有一个名为长名单的工作,我试图保持符合特定名称/删除元素,一个tidyverse范围内,类似
dplyr::select(contains("pattern"))
Run Code Online (Sandbox Code Playgroud)
但是,我在解决问题上遇到了问题。
library(tidyverse)
a_list <-
list(a = "asdfg",
b = "qwerty",
c = "zxcvb")
a_list %>% pluck("a") # works
a_list %>% pluck(contains("a")) #does not work
a_list[2:3] # this is what I want
a_list %>% pluck(-"a") # but this does not work
Run Code Online (Sandbox Code Playgroud) 我在spark数据框中有5亿行。我对sample_n
from 感兴趣,dplyr
因为它将允许我明确指定所需的样本量。如果要使用sparklyr::sdf_sample()
,我首先必须计算sdf_nrow()
,然后创建指定的数据分数sample_size / nrow
,然后将该分数传递给sdf_sample
。这没什么大不了的,但是sdf_nrow()
要花一些时间才能完成。
因此,dplyr::sample_n()
直接使用将是理想的选择。但是,经过一些测试,它看起来并不是sample_n()
随机的。实际上,结果与head()
!相同!如果函数不是随机抽样行,而是返回第一n
行,那将是一个主要问题。
有人可以确认吗?是sdf_sample()
我最好的选择吗?
# install.packages("gapminder")
library(gapminder)
library(sparklyr)
library(purrr)
sc <- spark_connect(master = "yarn-client")
spark_data <- sdf_import(gapminder, sc, "gapminder")
> # Appears to be random
> spark_data %>% sdf_sample(fraction = 0.20, replace = FALSE) %>% summarise(sample_mean = mean(lifeExp))
# Source: lazy query [?? x 1]
# Database: spark_connection
sample_mean
<dbl>
1 58.83397
> spark_data …
Run Code Online (Sandbox Code Playgroud) 我想捕获传递给函数的传入参数。我怎样才能做到这一点?下面的功能并不完全是我想要的。我想要的输出是"Using mtcars and am"
. 我的印象rlang
是可以帮助解决这个问题,但我还没有找到一个函数来完成这项工作。
fx_capture<- function(fx_data, fx_var) {
name_data <- quote(fx_data)
name_var <- quote(fx_var)
paste("Using", name_data, "and", name_var)
}
fx_capture(mtcars, am)
> "Using fx_data and fx_var"
Run Code Online (Sandbox Code Playgroud) 我的四开文档突然停止渲染。我已重新安装 RStudio 和 quarto 软件包,但此问题仍然存在。
当我打开新的四开文档时,我不再在新文档中看到样板材料。该文档是空的,就好像我选择了Create Empty Document
,但我没有选择。
然后,当我包含的所有内容都是原始文本时,文档就会呈现,但是当我包含r
代码块时,我会收到以下消息。
Error in xfun::normalize_path(path, ..., must_work = must_work, resolve_symlink = FALSE) :
unused argument (resolve_symlink = FALSE)
Calls: .main ... execute -> setwd -> dirname -> <Anonymous> -> normalize_path
Execution halted
Run Code Online (Sandbox Code Playgroud)
这是我尝试渲染的四开文档。
---
title: "Testing"
---
```{r}
mtcars |> print()
```
Run Code Online (Sandbox Code Playgroud)
这是我的会话信息:
R version 4.2.2 (2022-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22621)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.utf8
[2] LC_CTYPE=English_United States.utf8
[3] …
Run Code Online (Sandbox Code Playgroud)