rlang

    8熱度

    4回答

    我很困惑如何函數的參數傳遞到dplyr和ggplot代碼。 我使用dplyr和GGPLOT2 這裏的最新版本是我的代碼產生barplot(淨度VS的平均價格) diamond.plot<- function (data, group, metric) { group<- quo(group) metric<- quo(metric) data() %>% group_

    0熱度

    2回答

    我有一些指定爲字符串的變量名稱(例如來自Shiny應用程序的輸入),我想在我的dplyr和ggplot2代碼中使用它們,就好像它們是變量一樣。 我通過反覆試驗瞭解了它的工作原理,但我覺得必須有更好的方法。什麼是更好的方式來執行這些操作? library(rlang) library(ggplot2) library(dplyr) someString <- "g1" df <- tib

    0熱度

    1回答

    我創建了一個函數來計算「運行」的數量或丟失或完整的數據 - 我希望這個和dplyr::group_by一起工作,所以我把它寫成S3方法 - 下面是一個此代碼的簡化示例。 不幸的是,我發現裸引號變量名稱不起作用,但引用它,這確實有效,奇怪的是。 下面是一個輸出的例子 fun_run <- function(data, var) { UseMethod("fun_run") }

    1熱度

    1回答

    錯誤使用基本dplyr::select今天一個新的錯誤提出了自己: library(tidyverse) select(iris, starts_with("petal")) 回報 >Error in mut_env_parent(overscope$.top_env, lexical_env) : object 'rlang_mut_env_parent' not found

    0熱度

    2回答

    如果我不想在調用該函數之前指定列,我將如何創建一個函數來刪除列中的NA值? minimal_case <- function(column_name = "a") { enquo_name <- enquo(column_name) example <- tibble(a = c(NA, 1)) print(filter(example, !is.na(a)))

    3熱度

    2回答

    我很難在使用dplyr的函數中重命名列。我已經在非標準評估和使用enquo上找到有用的帖子(例如,http://dplyr.tidyverse.org/articles/programming.html和Changing names of resulting variables in custom dplyr function)。最終目標是使用該函數來彙總每個組,然後將列重命名爲比原始變量名稱更有

    0熱度

    1回答

    列 提取值我使用readr的read_delim像這樣: focals <- read_delim('~/all_focals2.txt', delim='\t', col_names=c("1", "focal", "2", "model"), col_types=cols_only(focal = col_double(), model = col_char

    1熱度

    2回答

    我有一個自定義函數,它彙總了一個變量。 我簡化了函數來說明我的問題,即它比下面顯示的更復雜。請注意,該函數的一般結構應該保持不變:它需要一個參數來指定要使用哪個數據幀(df)以及一個變量進行彙總的參數(variable_to_test)。 my_fun <- function(df, variable_to_test) { variable_to_test <- enquo(varia

    3熱度

    2回答

    我試圖編寫一個函數,該函數將用戶的列名向量作爲其參數之一。列名將用於指定將數據框的哪些列粘貼在一起以形成dplyr :: mutate中的新列。我試圖首先摺疊參數向量的元素,然後在變異中使用摺疊的字符串 - 這是錯誤的。請參閱下面的最新嘗試。我做了其他嘗試,但我不瞭解dplyr中的新現象,enq,UQ,!!!,!!等等。有人可以展示我需要做什麼嗎? df <- data.frame(.yr = c

    1熱度

    1回答

    使用foo(c("b"))調用以下函數。輸出顯示爲內聯。 我很困惑,爲什麼(1)df %>% mutate(!!x_ := 100 + !!x))和(2)df %>% mutate(!!x := 100 + !!x))工作原理相同;基於dplyr programming recipes只有(1)應該工作。 foo <- function(variables) { x <- rlang: