Как указано в комментариях @CMichael, у вас есть несколько проблем в вашем коде. В отсутствие воспроизводимого примера я использовал набор данных iris
, чтобы объяснить вам, что не так с вашим кодом.
top100 ‹- head(sort(games$NA_Sales, по убыванию=TRUE), n = 100)
Делая это, вы извлекаете только один столбец.
Та же команда с набором данных iris
:
> head(sort(iris$Sepal.Length, decreasing = TRUE), n = 20)
[1] 7.9 7.7 7.7 7.7 7.7 7.6 7.4 7.3 7.2 7.2 7.2 7.1 7.0 6.9 6.9 6.9 6.9 6.8 6.8 6.8
Итак, во-первых, у вас больше нет двух измерений для построения ggplot2
. Во-вторых, даже colnames
не сохраняются во время извлечения, поэтому вы не можете после запроса ggplot2
построить Year
и Global_Sales
.
Итак, чтобы решить вашу проблему, вы можете сделать (здесь пример с набором данных iris
):
top100 = as.data.frame(head(iris[order(iris$Sepal.Length, decreasing = TRUE), 1:2], n = 100))
И вы получаете data.frame такого типа:
> str(top100)
'data.frame': 100 obs. of 2 variables:
$ Sepal.Length: num 7.9 7.7 7.7 7.7 7.7 7.6 7.4 7.3 7.2 7.2 ...
$ Sepal.Width : num 3.8 3.8 2.6 2.8 3 3 2.8 2.9 3.6 3.2 ...
> head(top100)
Sepal.Length Sepal.Width
132 7.9 3.8
118 7.7 3.8
119 7.7 2.6
123 7.7 2.8
136 7.7 3.0
106 7.6 3.0
И тогда, если вы замышляете:
library(ggplot2)
ggplot(top100, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()
Предупреждение На основании того, что вы указали в своем примере, я предлагаю вам сделать следующее:
top100 <- as.data.frame(head(games[order(games$NA_Sales,decreasing=TRUE),c("Year","Global_Sales")], 100))
Однако, если это вас не устраивает, вам следует рассмотреть возможность предоставления воспроизводимого примера вашего набора данных Как сделать отличный воспроизводимый пример R
person
dc37
schedule
15.12.2019
as.data.frame(top100)
не работает на месте - нужно делатьtop100=as.data.frame(top100)
- person CMichael   schedule 13.12.2019dput
, чтобы воспроизвести вашу проблему? Вggplot
в этом случаеgeom_point
отсутствующие данные выдадут вам предупреждение и удалит строку данных. - person Ben   schedule 13.12.2019