Я хотел бы попросить некоторую помощь для построения чего-то в R. Либо с plot, либо с ggplot все в порядке, и в обоих случаях я добираюсь куда-то, но не очень далеко.У меня есть датафрейм с именем dat.Это его структура:
str(dat)
'data.frame': 223 obs. of 3 variables:
$ x: chr "THE SOCIAL VOLCANO THESIS STATES THAT THE RISING INEQUALITY IN CHINA THREATENS REGIME STABILITY. THIS IDEA, A"| __truncated__ "THE ASIAN INFRASTRUCTURE INVESTMENT BANK (AIIB) HAS BEEN WIDELY CONCEIVED AS A CHINESE EFFORT TO PROMOTE REFO"| __truncated__ "USING A MIXED-METHODS APPROACH, THIS ARTICLE SURVEYS AND COMPARES HOW CHINESE YOUTH VIEW CHINA'S RISE WITH HO"| __truncated__ "CHINA'S DISTORTED REGIONAL POLICY AND GEOGRAPHICAL FACTORS HAVE LED TO UNBALANCED DEVELOPMENT IN VARIOUS REGI"| __truncated__ ...
$ y: chr "2018" "2018" "2018" "2018" ...
$ z: int 1 2 3 4 5 6 7 8 9 10 ...
Используя две функции из пакета sentimentr, я делаю это:
(out <- with(
dat,
sentiment_by(
get_sentences(x),
list(y)
)))
> str(out)
Classes ‘sentiment_by’, ‘sentiment’, ‘data.table’ and 'data.frame': 26 obs. of 4 variables:
$ y : chr "1993" "1994" "1995" "1996" ...
$ word_count : int 460 662 685 1434 554 266 184 987 388 1238 ...
$ sd : num 0.305 0.31 0.233 0.255 0.243 ...
$ ave_sentiment: num 0.0582 0.0129 -0.0211 0.1034 0.0357 ...
- attr(*, "sorted")= chr "y"
- attr(*, ".internal.selfref")=<externalptr>
- attr(*, "sentiment")=<environment: 0x0000000035255940>
- attr(*, "groups")= chr "y"
- attr(*, "uncombine")=<environment: 0x0000000033925198>
> class(out)
[1] "sentiment_by" "sentiment" "data.table" "data.frame"
> dput(out)
structure(list(y = c("1993", "1994", "1995", "1996", "1997",
"1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005",
"2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013",
"2014", "2015", "2016", "2017", "2018"), word_count = c(460L,
662L, 685L, 1434L, 554L, 266L, 184L, 987L, 388L, 1238L, 281L,
801L, 781L, 1408L, 1379L, 1482L, 1277L, 1542L, 1202L, 1340L,
4560L, 1774L, 2762L, 1329L, 2849L, 3282L), sd = c(0.304636023530558,
0.309738374286375, 0.232934189622111, 0.255094571121293, 0.243144303515172,
0.282911733030912, 0.215097562186623, 0.231165262827222, 0.203962930002132,
0.291153465425392, 0.281978569365284, 0.386429241666039, 0.287562317308312,
0.280925019904095, 0.21898183336857, 0.254307322561706, 0.282036183270972,
0.268457123175779, 0.3937414839572, 0.33836367400151, 0.286163321374482,
0.313361278896165, 0.306199068554844, 0.333909633230004, 0.276550678783484,
0.292100796402794), ave_sentiment = c(0.0581999593535032, 0.0128947674652892,
-0.0210839988614244, 0.103407736319711, 0.0357332646332619, -0.109632067857938,
0.0227747336154236, 0.00442991862324721, 0.0440658684619395,
0.02463434314142, -0.088116710594565, -0.0712639455279134, -0.00723038792159052,
0.0554336776898467, 0.0510679816065003, 0.0658980030024626, 0.0636196211892638,
-0.00144966905344101, 0.0790633232056969, 0.100195761227613,
0.0500074909381625, 0.117002501770641, -0.0794863781585957, 0.020582509043321,
0.0392390469577238, 0.0133066447300312)), row.names = c(NA, 26L
), class = c("sentiment_by", "sentiment", "data.table", "data.frame"
), .Names = c("y", "word_count", "sd", "ave_sentiment"), sorted = "y", .internal.selfref = <pointer: 0x0000000004750788>, sentiment = <environment>, groups = "y", uncombine = <environment>)
>
В sentimentr рекомендуется строить так:
plot(out)
, разница в том, что у меня есть годы вместо Ромни или Обамы.Моя проблема в том, что я хотел бы заказать ось у в соответствии с годом, начиная с 1993-2018 или наоборот.Прямо сейчас, функция сюжета организуется в соответствии с большинством позитивных настроений.Так как заказанный фрейм данных (или комбинация нескольких вещей? Я не уверен точно, какое это животное), я не знаю, как еще его заказать, и не нашел информации при поиске в Интернете.
Я обычно предпочитаю язык ggplot, или, если быть точным, я предпочитаю изучать его.Там, однако, я не уверен, как передать все аргументы на ggplot, начав использовать его, возможно, неделю назад.В настоящее время я только знаю, как это сделать
ggplot(out, aes(x = ave_sentiment, y = y)) +
geom_point(color = "darkorchid4")
, и в этом случае я, очевидно, не вижу всех маленьких точек.Я не совсем уверен, даже откуда они берутся.Я понимаю, что вопрос может быть чрезвычайно простым, но, пожалуйста, потерпите меня, я пока что только воспроизводил руководства из пакетов R.Спасибо!