在 R 中重命名变量名称。

Renaming variable names in R.

我想用 "Low Fat" 替换 "LF",这是我使用的代码:

train$Item_Fat_Content[train$Item_Fat_Content =="LF"]= "Low FAt"

当我执行代码时,我收到警告消息:

In `[<-.factor`(`*tmp*`, train$Item_Fat_Content == "LF", value = c(3L,  :
  invalid factor level, NA generated

我们可以把它转换成characterclass然后做赋值

train$Item_Fat_Content <- as.character( train$Item_Fat_Content)
train$Item_Fat_Content[train$Item_Fat_Content =="LF"]= "Low FAt"

或者如果我们想把class保留为factor,在做赋值之前,创建一个level作为"Low FAt",然后做赋值

levels(train$Item_Fat_Content) <- c(levels(train$Item_Fat_Content), "Low FAt")

注意:正如@doviod 在评论中提到的,在使用 read.table/read.csv 读取数据时,如果我们希望将非数字列设为 character [=,请使用 stringsAsFactors = FALSE 28=](除非有特定原因需要 factor 列)