在R中更改数据类型

时间:2019-06-11 11:38:33

标签: r types type-conversion

我正在尝试将column属性转换为:所有0都将变为No,所有1都将变为Yes。如何在R中做到这一点?

我正在尝试使用R studio和插入符号包来制作它。

    library(mlbench)
    library(caret)
    data<-read.csv('diabetes.csv')
    control<-trainControl(method="repeatedcv", number=10,repeats=3)
    model<-train(data$Outcome~.,data=data,method="lvq",preProcess="scale",
                  trControl=control)

此处输出给出错误:错误:回归的模型类型错误。 这可能是因为“结果”列包含0,1。但是,如果它们是字符串,就可以工作:是,否。

2 个答案:

答案 0 :(得分:2)

您可以使用库 forcats 和函数fct_recode()来更改变量的级别:

library(dplyr)
library(forcats)

data <- data %>% mutate(Outcome = fct_recode(as.character(Outcome), 'Yes' = '1', 'No' = '0'))

答案 1 :(得分:1)

您可以使用更改数据类型

    library(dplyr)

    data <- data %>% mutate(Outcome2 = ifelse(Outcome == 1, TRUE, FALSE))

然后将Outcome2用于模型。