dplyrパッケージに基づいて関数を作成しようと考えていました。 janitorパッケージやOrganism.dplyrなどの例はほとんど見ていません。しかし、私はdplyrの機能を拡張したり固有のものにすることはできないか、可能であってもわかりません。dplyrベースの関数を作成する
たとえば、私が何をしたいです:それについて
データ%>%GROUP_BY(COLUMNX)%>%my_mutate_like_function()
しかし、それは動作しません、私が見たポストを代替のようにしてください()を使用して... しかし、それは私が望むものではありません。
誰でもお手伝いできますか?ありがとう。
==この質問によるとコード例(編集後)==
data <- data.frame(groupname = c('A', 'B', 'A', 'A', 'B', 'B'),
value = c(1, 3, 4, 2, 1.4, 5))
my_mutate_like_function <- function(data) {
data$category <- ifelse(data$value <= mean(data$value), 'In', 'Out')
data$meanvalue <- mean(data$value)
data
}
data_works <- data %>% group_by(groupname) %>%
mutate(category = ifelse(value <= mean(value), 'In', 'Out'), meanvalue = mean(value))
# That's the right output, each "groupname" had their average calculated and it was used a threshold value
data_fails <- data %>% group_by(groupname) %>%
my_mutate_like_function()
# The group_by properties seems not work inside my function
あなたはデータサンプルと期待される出力と一緒に動作しないコードを表示することができますか? – eipi10
コード例を追加しました。 – andrefonseca
申し訳ありませんが、これは愚かなコメントですが、関数内でdplyrを使用しているだけの場合、つまりラッパーはどうでしょうか?またはあなたの関数の中で "baseRのアプローチ"を使用したいですか? – friep