重命名R中的变量名。

重命名R中的变量名。,r,warnings,data-cleaning,R,Warnings,Data Cleaning,我想用“低脂”替换“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 在`[中,我们可以将其转换为字符类,然后进行赋值

我想用“低脂”替换“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

在`[中,我们可以将其转换为
字符
类,然后进行赋值

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

注意:正如注释中提到的@doviod,当使用
read.table/read.csv
读取数据时,如果我们希望将非数字列作为
字符
类,请使用
stringsAsFactors=FALSE
(除非有特殊原因使用
系数
列)

为了将来的参考,您可能需要确保将
stringsAsFactors=FALSE
添加到
read.which
调用中。