2016-08-14 42 views
2

我想知道是否有可能「程式化」dplyr結果。R - dplyr程式化的打印或粘貼

試想一下,我運行一個自舉的意思過程10次,每次選擇2箱子

library(dplyr) 

for(i in 1:10){ 
    m = mean(mtcars[sample(1:nrow(mtcars), size = 2), 'cyl'] ) 
    print(paste('Mean Boot', i, ':', m)) 
} 

[1] "Mean Boot 1 : 8" 
[1] "Mean Boot 2 : 7" 
[1] "Mean Boot 3 : 8" 
[1] "Mean Boot 4 : 4" 
... 

我想知道我怎麼可以從dplyr代碼打印這樣的結果。

喜歡的東西

for(i in 1:10){ 
    mtcars %>% sample_n(2) %>% 
    summarise(m = mean(cyl)) %>% 
    print(paste('Mean Boot', i, ':', m)) 
} 

任何線索?

+2

我真的不認爲有必要總結一下'()'。那麼''for(i在1:10)%{sample%(2)%>%。%cyl%>%mean%>%paste(「Mean Boot」,i,「:」,。)% >%print }' –

+0

我在找什麼,先粘貼然後打印。我無法在任何地方找到它。謝謝 – giacomo

回答

2

我們可以做

for(i in 1:10){ 
    mtcars %>% 
    sample_n(2) %>% 
    summarise(m= paste('Mean Boot', i, ':', mean(cyl))) %>% 
    .$m %>% 
    print 
} 
#[1] "Mean Boot 1 : 6" 
#[1] "Mean Boot 2 : 5" 
#[1] "Mean Boot 3 : 7" 
#[1] "Mean Boot 4 : 6" 
#[1] "Mean Boot 5 : 8" 
#[1] "Mean Boot 6 : 6" 
#[1] "Mean Boot 7 : 4" 
#[1] "Mean Boot 8 : 7" 
#[1] "Mean Boot 9 : 8" 
#[1] "Mean Boot 10 : 6"