Почему plot () в R не отражает данные после сортировки информационного кадра по значениям столбца? - PullRequest
1 голос
/ 11 апреля 2020

Это полный код:

require(RCurl)
require(foreign)
require(tidyverse) 
x = getURL("https://raw.githubusercontent.com/RInterested/PLOTS/master/drinks_csv.csv")

data <- read.csv(textConnection(x))
data <- data[,c(1:5,8)]


interest <- c(1,2,3,7,9,10,11,14,16,17,21,24,26,29,30,31,34,35,36,38,
              39,40,42,44,47,48,49,50,55,57,61,62,63,65,69,70,71,72,
              73,74,75,76,77,78,79,80,81,82,83,84,85,89,91,92,93,94,
              100,102,103,104,105,106,108,110,111,112,113,114,115,116,
              118,119,121,122,125,126,127,134,141,142,143,144,152,154,
              155,158,159,160,162,169)

data <- data[interest,]
data <- droplevels(data)
data <- data[with(data, order(data$wine_servings)),]
row.names(data) <- 1:nrow(data)


plot(data$country,data$wine_servings,las=2, xlab="", ylab="", xaxt = 'n', yaxt = 'n')
axis(1, at = 1:length(data$country), labels = data$country, cex.axis = 0.6,las = 2)

На оси X должны отображаться страны в порядке значения оси Y. Поэтому график должен увеличиваться в значениях слева направо. Тем не менее, это не то, что я получаю, в результате чего вводит в заблуждение и неправильный сюжет.

Я предполагаю, что, хотя я перемаркировал строки после сортировки, он все еще использует начальные значения строк ...

1 Ответ

4 голосов
/ 11 апреля 2020

В приведенном выше коде:

head(data$country)
[1] afghanistan bangladesh  india       indonesia   iran        iraq       
90 Levels: afghanistan albania algeria argentina australia ... zimbabwe

Это коэффициент, и при его построении он преобразуется в число c и перетаскивается по другим уровням, например:

plot(head(data$country),rep(1,6))

enter image description here

Ваш фрейм данных в порядке, мы можем просто сделать:

plot(1:nrow(data),data$wine_servings,las=2, xlab="", ylab="", xaxt = 'n', yaxt = 'n')
axis(1, at = 1:length(data$country), labels = as.character(data$country), cex.axis = 0.6,las = 2)

enter image description here

Длинная и короткая, будьте осторожны, когда ваш столбец является фактором, потому что функция базового графика R легко их преобразует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...