Как решить «х» должен быть числовым в г? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь составить гистограмму, но продолжаю сталкиваться с сообщением об ошибке. Вот мой код

library(readxl)

data <- read_excel("data.xls")

View(data)
attach(data)
names(data)        

hist(data)

Это мой образец. Я хочу создать гистограмму, где ось Y будет 0-100, а ось X (безопасно, базовая, ограниченная и т. Д.) - числа (39,29,8,12,12) на графике. Это помогает понять?

   Safely  Basic  Limited  Unimproved  Open

   39     29         8          12      12

Ошибка в hist.default (данные): 'x' должно быть числовым

Что я делаю не так? Я не знаю, понять сообщение об ошибке.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Проблема в том, что вы передаете фрейм данных в функцию hist(), когда для аргумента x требуется вектор (см. ?hist). Исходя из вашего отредактированного сообщения, вы хотели бы:

hist(as.numeric(data[1,]))

Где data[1,] создает вектор из первой строки вашего фрейма данных.

Хотя кажется, что вы действительно ищете барный сюжет. В этом случае попробуйте:

plot_data <- data.frame(t(data)) %>% 
  tibble::rownames_to_column()

ggplot(plot_data,aes(x = rowname,y=t.data.)) + 
  stat_identity(geom = "bar")

От @ user2554330, более простой базовый графический метод:

f <- as.numeric(data[1,])
names(f) <- names(data)
barplot(f)
0 голосов
/ 09 апреля 2019

В вашем случае data - это не переменная, а фрейм данных, содержащий переменные. Вы можете взять гистограмму каждой отдельной переменной следующим образом:

library(readxl)
data <- read_excel("data.xls")

Если вы хотите посмотреть гистограмму переменной Safely:

hist(data$Safely)

Вы можете получить доступ к каждой переменной, содержащейся в data, таким же образом.

...