Удаление вида данных из столбца при построении графика с использованием гистограммы в r (не ggplot)

#r

#r

Вопрос:

Я пытаюсь получить блок-график chess_games $cream_rating ~ chess_games $ victory_status

Данные:

 A data.frame: 6 × 8
    rated   turns   victory_status  winner  increment_code  cream_rating    charcoal_rating   opening_name
    <lgl>   <int>   <fct>          <fct>    <fct>            <int>          <int>              <fct>
1   FALSE   13     outoftime       cream    15 2             1500           1191              Slav Defense: Exchange Variation
2   TRUE    16      resign        charcoal  5 10             1322           1261              Nimzowitsch Defense: Kennedy Variation
3   TRUE    61      mate           cream    5 10             1496           1500              King's Pawn Game: Leonardis Variation
4   TRUE    61      mate           cream    20 0            1439            1454              Queen's Pawn Game: Zukertort Variation
5   TRUE    95      mate           cream    30 3            1523            1469              Philidor Defense
6   FALSE   5       draw            draw    10 0            1250            1002              Sicilian Defense: Mongoose Variation
  

Когда я пытаюсь использовать этот код:

 chess_games_rated<-chess_games$cream_rating 
chess_games_victory<-chess_games$victory_status
boxplot(chess_games_rated~chess_games_victory)
  

Я получаю:

введите описание изображения здесь

Почему я получаю отрисовки, когда я полагаю, что нет, как удалить отрисовки с графика?

Ответ №1:

Потому что вы не отфильтровали его?

 boxplot(cream_rating ~ victory_status, chess_games[!chess_games$winner %in% "draw", ])
  

введите описание изображения здесь

Данные:

 chess_games <- structure(list(rated = c(FALSE, TRUE, TRUE, TRUE, TRUE, FALSE
), turns = c(13L, 16L, 61L, 61L, 95L, 5L), victory_status = c("outoftime", 
"resign", "mate", "mate", "mate", "draw"), winner = c("cream", 
"charcoal", "cream", "cream", "cream", "draw"), increment_code = c("15 2", 
"5 10", "5 10", "20 0", "30 3", "10 0"), cream_rating = c(1500L, 
1322L, 1496L, 1439L, 1523L, 1250L), charcoal_rating = c(1191L, 
1261L, 1500L, 1454L, 1469L, 1002L), opening_name = c("Slav", 
"Nimzowitsch", "King", "Queen", "Philidor", "Sicilian")), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6"))
  

Комментарии:

1. @user432797 На самом деле я не создавал переменные, поскольку boxplot получает местоположение переменных в data аргументе. Смотрите ?boxplot синтаксис.

2. @user432797 Не могли бы вы уточнить «шрифт не соответствует исходному выводу»?

3. @user432797 Ага, используй boxplot(..., cex.axis=1.5) , просто попробуй несколько значений, пока тебе не понравится.

4. @user432797 Да, добавьте еще один аргумент, boxplot(..., font=2) .

5. Большое вам спасибо! интересно, что они работают безупречно, но когда я попробовал их с легендой, они не сработали, поэтому я вскоре отказался от них.