1
我想利用這個代碼,並把它變成一個功能:R:dplyr功能,使長格式與多組
mtcars %>% group_by(gear) %>% select(hp, disp) %>%
summarise_all(funs(n=sum(!is.na(.)), mean=mean(.,na.rm=T))) %>%
gather(variable, value, -gear) %>%
arrange(gear, sub('_.*', '', variable), sub('.*_', '', variable)) %>%
separate(variable, into = c('var', 'metric'), '_')
它所做的是創建一個數據框,我可以很容易地導入到Excel中並創建樞紐。我試過以下,但它似乎並沒有工作:
mean_func <- function(vars,groups) {
results <- test %>% group_by_at(vars(one_of(groups))) %>%
summarise_at(vars(starts_with(vars)), funs(n=sum(!is.na(.)), mean=mean(.,na.rm=T))) %>%
gather_(variable, value, -groups) %>%
arrange_(groups) %>%
separate_(variable, into = c('var', 'metric'), '_'); View(results)
}
好像問題是沿gather
聲明的地方,但我不知道這可能是錯在這裏。有什麼想法嗎?
這似乎很落後。爲什麼你會經歷將數據導入R的問題,只導出它以創建數據透視表?無論如何,用dplyr/tidyr動詞進行編程已經發生了變化。請參閱:http://dplyr.tidyverse.org/articles/programming.html – boshek
由於用戶受衆需要數據透視表,因此他們可以輕鬆操縱和瀏覽數據。這不是我的要求,或者我只是製作一切。 – vashts85