Как кто-то новый для R, я работаю над созданием словарного облака, которое показывает две переменные: frequency
и rating
. Используя общую таблицу, я ищу, чтобы отобразить гипотетическое количество колледжей (шрифт = больших малое число) государственным и гипотетического среднего рейтинг колледжаСлово облако в R с двумя отдельными значениями
- 1 = зеленый (хорошо),
- 3 = желтая (средний),
- 5 = красный (плохо)
Я могу создать это облако, изображающие шрифты = количество колледжей, но не могу связать в рейтинге на третью колонку. Вот мой общий стол:
State Colleges Rating
Alabama 220 1
Alaska 100 3
Arizona 50 5
Arkansas 275 1
California 155 3
Colorado 68 5
Connecticut 235 1
Delaware 189 3
Florida 32 5
Georgia 219 1
Hawaii 117 3
Idaho 63 5
Illinois 264 1
Indiana 167 3
Iowa 76 5
Kansas 287 1
Kentucky 178 3
Louisiana 67 5
Maine 246 1
Maryland 169 3
Massachusetts 46 5
Michigan 225 1
Minnesota 132 3
Mississippi 23 5
Missouri 219 1
Montana 194 3
Nebraska 97 5
Ниже мой очень простой скрипт:
library(wordcloud)
library(rcolorbrewer)
data <- read.csv("wordcloud.csv", header = T)
pal <- brewer.pal(9, "RdYlGn")
wordcloud(data$State, data$Colleges, scale = c(4,1), colors = pal, rot.per=.5)
Данный скрипт позволяет размер текста, чтобы отразить количество колледжей, но я не в состоянии связать цвет скат от 1 = зеленый (хороший) до 3 = желтый (средний) до 5 = красный (плохой). Любые предложения приветствуются.
Я ценю вклад - это работает, но если изменить порядок (т.е. все «1» сначала, затем все «2» и т. д.), зеленый-желтый-красный продолжает цикл и не соответствует значению в этом столбце. Я все еще с этим согласен. Еще раз спасибо, вы очень помогли. – csv2004
Конечно, порядок зависит от порядка строк, но если вы его измените, вы можете использовать этот подход в своем ответе, если вы затем соответствующим образом отрегулируете порядок цветов, например.to 'rep (c (« зеленый »,« желтый »,« красный »), каждый = 9)' – beetroot
Сегодня я разговаривал с коллегой и придумал следующее: vec <- vector() для (i in 1: nrow (data)) { if (data [i, 3] == 1) { }} для (i in 1: nrow (data)) { if (data [i, 3] == 1) { vec [i] = "green"} if (data [i, 3] == 3) { vec [i] = "yellow"} if (data [i, 3] == 5) { vec [i] = "red"} } – csv2004