我有data.frame:錯誤dplyr總結
set.seed(1L)
vector <- data.frame(patient=rep(1:5,each=2),medicine=rep(1:3,length.out=10),prob=runif(10))
我想要得到的「概率」列平均值,而由病人分組。我用下面的代碼這樣做:
vector %>%
group_by(patient) %>%
summarise(average=mean(prob))
此代碼完美的作品。但是,我需要得到相同的值,而不使用在「總結」行字「概率」。我想下面的代碼,但它給了我一個data.frame中,列「平均」是5個相同的價值觀,這是不是我想要一個向量:
vector %>%
group_by(patient) %>%
summarise(average=mean(vector[,3]))
PD:爲便於理解爲什麼我需要這個,我有一個複雜的名稱需要進行「總結」,這就是爲什麼我不能在總結命令把一個一個多列另一個數據幀。我想要的是在那裏放置一個矢量來計算由病人分組的每列的probs。
我可以提議首先將數據納入作進一步處理最方便的格式?你最後的評論暗示,首先熔化數據,然後將你提出既可以是一個有前途的方法的工作代碼。 – 2014-09-18 23:05:27
我認爲這是[目前在作品(https://github.com/hadley/dplyr/issues/352),連接到[懶](https://github.com/hadley/lazyeval)封裝 – baptiste 2014-09-18 23:52:08
謝謝彼得,這實際上解決了我的問題!我融化並「挖掘」了數據框。 – Victor 2014-09-20 15:12:02