Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/corxPublic

Commitfb90b3a

Browse files
author
conig
committed
add replacement for tidyselect::vars_select
r
1 parent212cb17 commitfb90b3a

File tree

2 files changed

+39
-7
lines changed

2 files changed

+39
-7
lines changed

‎R/corx.R‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@ corx <-
106106
data<-data.frame(data,check.names=FALSE)
107107
}
108108

109-
x<-tidyselect::vars_select(colnames(data), {{x }},.strict=TRUE)
110-
y<-tidyselect::vars_select(colnames(data), {{y }},.strict=TRUE)
111-
z<-tidyselect::vars_select(colnames(data), {{z }},.strict=TRUE)
109+
x<-eval_select_names(colnames(data), {{x }},strict=TRUE)
110+
y<-eval_select_names(colnames(data), {{y }},strict=TRUE)
111+
z<-eval_select_names(colnames(data), {{z }},strict=TRUE)
112112

113113
# allow rename within select
114114
data<- rename_if_needed(data,x)
@@ -197,10 +197,10 @@ corx <-
197197
tryCatch(
198198
{
199199
# allow lists to be sent to tidyselect
200-
describe_name<-tidyselect::vars_select(
200+
describe_name<-eval_select_names(
201201
names(all_desc),
202202
{{describe }},
203-
.strict=F
203+
strict=FALSE
204204
)
205205
},
206206
error=function(e) assign("describe_name", c(),envir=env)
@@ -211,10 +211,10 @@ corx <-
211211

212212
if (length(describe_name)!= (length(call$describe)-1)) {
213213
# check if all vars were found
214-
describe_name<-tidyselect::vars_select(
214+
describe_name<-eval_select_names(
215215
names(all_desc),
216216
{{describe }},
217-
.strict=T
217+
strict=TRUE
218218
)
219219
}
220220

‎R/utils.R‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# replacement for tisyselect::vars_select
2+
eval_select_names<-function(
3+
vars,
4+
expr,
5+
strict=TRUE,
6+
allow_predicates=TRUE
7+
) {
8+
quo<-rlang::enquo(expr)
9+
10+
if (rlang::quo_is_null(quo)) {
11+
return(character())
12+
}
13+
14+
data_mask<-stats::setNames(seq_along(vars),vars)
15+
16+
eval_call<-function() {
17+
tidyselect::eval_select(
18+
quo,
19+
data=data_mask,
20+
strict=strict,
21+
allow_predicates=allow_predicates
22+
)
23+
}
24+
25+
locations<-if (allow_predicates) {
26+
eval_call()
27+
}else {
28+
suppressWarnings(eval_call())
29+
}
30+
31+
stats::setNames(vars[locations], names(locations))
32+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp