2
と関数定義の内側に要約:は、動的に、我々は次のように開始すると仮定しdplyr
library(dplyr)
library(magrittr)
library(tibble)
set.seed(123)
tbl <- data_frame(value=rnorm(100), class=rep(LETTERS[1:5], each=20))
私は同じ出力を返し、tbl
を与え、"value"
、および"class"
、機能summarize_means(data, values, groupby)
を書きたいのですが次のコード:
tbl %>%
group_by(class) %>%
summarise(mean(value))
私の最初の試みだった:
summarise_means <- function(data, values, groupby) {
data %>%
group_by(groupby) %>%
summarise(mean(values))
}
もちろん、掘りのビットの後、私は
group_by_
と
summarize_
機能を使用するべきであると判断し、私は、私はまだこのよう誤っここでそれらを使用していますことを疑う
Error: unknown variable to group by : groupby
で失敗し、
動作しません:
summarise_means <- function(data, values, groupby) {
data %>%
group_by_(groupby) %>%
summarise_(mean(values))
}
私はsummarise_means(tbl, 'value', 'class')
を呼び出すと、私が手:
# A tibble: 5 x 2
class NA_real_
<chr> <dbl>
1 A NA
2 B NA
3 C NA
4 D NA
5 E NA
Warning message:
In mean.default(values) : argument is not numeric or logical: returning NA
ここで何がうまくいかないのか分かりません。どんな助けでも大歓迎です!
もlazyvalパッケージから 'summarise_(interpの(〜平均(VAR)、VAR = as.name(値)))'使用することができます。次に、あなたの関数はあなたの現在の入力で動作します –