我有一个数据(df_1):
df_1 <- structure(list(var_1 = c(99.4726192392409, 25.9155194833875),
var_2 = c(99.9599985964596, 20.3848657943308), var_3 = c(93.1612774543464,
31.651863809675), var_4 = c(54.2802151478827, 81.9601702317595
), var_5 = c(88.1385736726224, 94.7823309898376), var_6 = c(83.7288120947778,
72.2155329957604), groups = structure(c(1L, 1L), .Label = c("1",
"2", "3"), class = "factor")), row.names = c(1L, 10L), class = "data.frame")我试过:
library(dplyr)
df_1 %>%
select_at(.vars = 'var_1')
var_1
1 99.47262
10 25.91552没问题的。但是:
df_1 %>%
select(across(.cols = 'var_1'))错误:
across()只能在dplyr动词中使用。
如何使用select和across调整最后一个函数
发布于 2020-05-13 01:26:41
在用于选择或横穿的横穿页面中,没有将select与across一起使用的用例。根据?across文档
通过(),可以很容易地将相同的转换应用于多个列,从而允许在汇总()和mutate()中使用select()语义。summarise_at()取代了summarise_at()、summarise_if()和summarise_all()等一系列“作用域变体”。有关更多细节,请参见vignette("colwise")。
没有提到与select一起使用
在当前版本中,select可以使用未引号和引号的变量
library(dplyr)
df_1 %>%
select('var_1')
# var_1
#1 99.47262
#10 25.91552
df_1 %>%
select('var_1', 'var_2')
# var_1 var_2
#1 99.47262 99.96000
#10 25.91552 20.38487
df_1 %>%
select(var_1, var_2)或利用select_helpers starts_with/ends_with/matches/contains
df1_1 %>%
select(starts_with('var'))
# var_1 var_2
#1 99.47262 99.96000
#10 25.91552 20.38487https://stackoverflow.com/questions/61764723
复制相似问题