99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-03-08 閱讀量: 1432
dplyr arrange()的問(wèn)題

我在網(wǎng)上找到的有關(guān)tidyeval的所有內(nèi)容都是較舊的,并且不及最新版本的tidyverse \ dplyr,或者不太適用。

一個(gè)示例是:

df <- tribble(

~var1, ~var2, ~var3,

1, 2, 3,

4, 5, 6,

7, 8, 9

)

我寫(xiě)了一個(gè)小函數(shù):

fun <- function(data, select_var, arrange_var) {

select_var <- enquo(select_var)

arrange_var <- enquo(arrange_var)

data %>%

select(!!select_var) %>%

arrange(!!arrange_var)

}

該函數(shù)只選擇列,然后按行排列。

當(dāng)我將參數(shù)傳遞給函數(shù)時(shí),它可以正常使用c()中的單個(gè)變量:

fun(df,

c(var1,

var2)),

c(var2))

但是,當(dāng)我嘗試傳遞兩個(gè)這樣的變量時(shí):

fun(df,

c(var1,

var2)),

c(var1,

var2))

我收到以下錯(cuò)誤:

Error: incorrect size (282) at position 1, expecting : 141

解決辦法:更換arrange_var有...和沒(méi)有封閉他們指定的變量c()也可以正常工作。

library("dplyr")

df <- tribble(

~var1, ~var2, ~var3,

1, 2, 3,

4, 5, 6,

7, 8, 9

)

fun <- function(data, select_var, ...) {

select_var <- enquo(select_var)

arrange_var <- enquos(...)

data %>%

select(!!select_var) %>%

arrange(!!!arrange_var)

}

fun(df, c(var1, var2), var2)

#> # A tibble: 3 x 2

#> var1 var2

#> <dbl> <dbl>

#> 1 1 2

#> 2 4 5

#> 3 7 8

fun(df, c(var1, var2), var1, var2)

#> # A tibble: 3 x 2

#> var1 var2

#> <dbl> <dbl>

#> 1 1 2

#> 2 4 5

#> 3 7 8

6.9776
4
關(guān)注作者
收藏
評(píng)論(0)

發(fā)表評(píng)論

暫無(wú)數(shù)據(jù)
推薦帖子