GGPLOT2: расстояние дискретных значений от каждого конца оси x

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

Данные, которые я использую:

id_finger   sex pre_post    angle
1   F   0   7
1   F   2   5
2   F   0   11
2   F   2   1
3   F   0   21
3   F   2   7
4   M   0   12
4   M   2   1
5   F   0   11
5   F   2   4
6   M   0   18
6   M   2   8
7   M   0   28
7   M   2   9
8   F   0   10
8   F   2   2
9   M   0   12
9   M   2   5
10  F   0   14
10  F   2   0
11  M   0   27
11  M   2   5
12  M   0   15
12  M   2   3
13  F   0   19
13  F   2   0
14  M   0   5
14  M   2   4
15  M   0   24

И мой код:

vicryl.wide <- read.table("C:/vicryl2.csv",
                     header=TRUE, sep=",", na.strings=" ")

library(reshape2)
vicryl.long <- melt(vicryl.wide,
               id.vars=c("id_finger","sex"),
               measure.vars=c("pre_angle_r", "post_angle_r"),
               variable.name="pre_post")

names(vicryl.long)[names(vicryl.long)=="value"] <- "angle"

levels(vicryl.long$pre_post)[levels(vicryl.long$pre_post)=="pre_angle_r"] <- 0
levels(vicryl.long$pre_post)[levels(vicryl.long$pre_post)=="post_angle_r"] <- 2

vicryl.long <- vicryl.long[ order(vicryl.long$id_finger,
vicryl.long$pre_post), ]

library(ggplot2)
ggplot(data=vicryl.long, aes(x=pre_post, y=angle, group=id_finger)) +
geom_line()

Ответы на вопрос(2)

Ваш ответ на вопрос