Факторная переменная по оси x для двойной оси y

#r #plot

#r #сюжет

Вопрос:

Прямо сейчас на оси x отображается числовая переменная «1,2,3,4» и т. Д. когда вместо этого я хочу, чтобы он отображал игру. Как вы можете видеть в строке 85, axis(1,игра на $ чемпиона) Я хочу, чтобы название игры было по оси x, но вместо этого оно просто нумерует игру, а не указывает название игры. Как мне это исправить? введите описание изображения здесь

Вот таблица, из которой я извлекаю, игры и имена изменены в целях конфиденциальности

 par(mar=c(5, 4, 4, 6)   0.1) plot(Champ$daily_max_vel, pch = 16, axes = FALSE, ylim =  c(3.0,3.9),type = "b", col = "black", ylab = "", xlab = "",  main = "Athlete") ##Creates y-axis for graph 1 axis(2, ylim = c(0,1), col = "black", las = 1) mtext("Velocity (m/s)", side = 2, line = 2.5) box()  ## Allows for second plot on same graph par(new = TRUE)  #Plotting second graph plot(Champ$daily_peak_power, pch = 1, xlab = "", ylab = "",  ylim = c(1000,1600), axes = FALSE, type = "b",   col = "orange")  #Creating Second Axis  mtext("Power (W)", side = 4, col = "orange", line = 4)  axis(4,ylim = c(1200,1600), col = "orange", col.axis =   "orange", las = 1)  axis(1,Champ$game)  

Комментарии:

1. Не могли бы вы попытаться предоставить нам образец ваших данных, например, с dput() помощью или каким-либо другим способом? И, пожалуйста, используйте реальный код, а не скриншот

Ответ №1:

Использование labels функции должно делать то, что вы ищете — вот пример того, в чем, по моему мнению, заключается ваша проблема. Если это не сработает, отредактируйте свой пост, чтобы предоставить свою структуру данных.

 # create sample data  df lt;- data.frame(game = sample(c(1, 2, 3), 150, replace = TRUE),val = rgamma(150, 50)) plot(df)  # label factors df$game lt;- factor(df$game, levels = 1:3, labels = c("Game A", "Game B", "Game C"))  # plot plot(df, axes = F, type = "b") axis(1, df$game, labels = df$game) # shows game A, game b, game c instead of 1, 2, 3  

Комментарии:

1. Привет @jpsmith, я обновил вопрос, чтобы вы могли видеть, с чем я работаю. Я не думаю, что мне понадобится функция ярлыков, потому что названия игр уже есть в таблице в качестве фактора. Это правильно или я неправильно это понимаю?

2. Hi Ben — Коэффициенты в R хранятся в виде целых значений (за кадром) с соответствующим набором значений символов, обычно используемых при отображении коэффициента (т. е. при печати(df)). Вот почему вы получаете целые числа по оси x. Используя функцию метки, вы указываете ей использовать соответствующее значение символа.