0

product私のデータセットには、タイプとpurchase数量の列が含まれています。各行の実際のpurchase数量から各タイプの平均数量を差し引くことができるようにしたいと考えています。productpurchase

おおよそ次のようなデータセットがあります

library(dplyr)
set.seed(42)
product <- paste("prod - " , sample(c("A", "B", "C", "D"), size = 15, 
                                replace = TRUE))
purch <- sample(5:10, size = 15, replace = TRUE)

fake_data <- tibble(product, purch)

次のように、分割適用結合メソッドを使用してこれを行うことができます。

data_s <- split(fake_data, fake_data$product) #split
data_a <- lapply(data_s, function(m) cbind(m, m$purch - mean(m$purch))) #apply
data_c <- bind_rows(data_a) #combine

これは機能しますが、それ以外の場合は長くてよく整理されたチェーンの途中で発生し、 and を使用%>%dplyrます。dplyrチェーンを壊さずに必要なものを取得できるようにする方法はありますか?

ありがとうございました。

4

1 に答える 1