2017-09-18 57 views
1

我已經使用dplyr計算了一列的值。Boxplot dplyr:錯誤:二進制運算符的非數字參數

yelp_tbl %>% select(name) %>% count(name) 

得到的數據是這樣的:

# A tibble: 108,999 x 2 
            name  n 
            <chr> <int> 
1     'do blow dry bar  1 
2     'Round Table Tours  1 
3      'S Hundehüttle  1 
4       # 1 Nails  1 
5 #1 Cochran Buick GMC of Monroeville  1 
6 #1 Cochran Buick GMC of Robinson  1 
7 #1 Cochran Cadillac - Monroeville  2 

現在,我想使 「N」 列的箱線圖。

yelp_tbl %>% select(name) %>% count(name) %>% boxplot(n) 

但我得到了這樣的結果:

Error in x[floor(d)] + x[ceiling(d)] : 
non-numeric argument to binary operator 

任何想法?是因爲這個功能嗎?

+0

謝謝!如果我嘗試這樣做,我會得到:'錯誤if(use.cols){:參數不能解釋爲邏輯' – Hadsga

+0

你真的需要boxplot嗎?你可以請仔細檢查,我認爲barplot應該用於這種數據 – PoGibas

+0

直方圖/ barplot也很好,但也有同樣的問題。 – Hadsga

回答

1

列作爲一個數值向量,然後做boxplot

library(stringi) 
df <- data.frame(name = stri_rand_strings(10000, 2, pattern = '[a-z]')) 

df %>% select(name) %>% count(name) %>% pull(n) %>% boxplot() 
#          ^^^^^^ 

enter image description here

0

試試這個(這是很難知道,如果它沒有示例數據):

library(tidyverse) 

yelp_tbl %>% 
    select(name) %>% 
    count(name) %>% 
    ggplot(aes(name, n)) + 
     geom_bar(stat = "identity", position = "dodge") 
相關問題