Строки
as.factor(df$StudyAreaVisitNote)
as.numeric(df$Year)
as.numeric(df$Session)
не изменяют постоянное значение в df
. Они возвращают преобразованные векторы, которые печатаются на консоль, а затем, поскольку вы нигде не сохраняете их, они исчезают, как только эта строка будет вызываться. Как правило, объекты в R не обновляются через рефери, вы должны повторно назначить возвращаемый результат в том месте, где вы хотели бы его сохранить. Поэтому попробуйте
df$Year <- as.numeric(df$Year)
df$Session <- as.numeric(df$Session)
вместо