Это немного больше для комментария, может или не может ответить на проблему. Но я думаю, что это может быть одной из проблем с набором данных OP.
Вы использовали команду data.frame, теперь data.frame по умолчанию содержит параметр stringsAsFactors = TRUE
, и, вероятно, это преобразование одного из ваших столбцов в Фактор, именно поэтому вы получаете эту ошибку. Один из способов избежать использования options(stringsAsFactors=FALSE)
поверх вашего кода или data.frame(your_object, stringsAsFactors=FALSE)
Просто чтобы воссоздать ошибку, вы можете использовать набор данных iris для отображения похожая ошибка,
scale(iris[,1:5], center=TRUE, scale=TRUE)
## This fails with the same error as the last column in iris data set is a factor
, но это будет работать,
scale(iris[,1:4], center=TRUE, scale=TRUE)
Примечание. Я опускаю сюда столбец, в вашем случае вы можете изменить его на цифру c ( так что это полностью зависит от того, что вы пытаетесь сделать здесь). Если вы хотите изменить его на число c из коэффициента, попробуйте запустить as.numeric(as.character(your_column))
.
Также, как предлагается в комментариях, попробуйте избегать имен, содержащих точку в вашем объекте в R.
Итак, сумма всей информации может быть заключена в одну строку, которую вы должны попробовать:
data.frame(data1.csv, stringsAsFactors=FALSE)
, затем попробуйте выполнить команду scale
.