简体   繁体   English

R中变量的类别不变

[英]Category of variable didn't change in R

I want rename a category in a variable as shown here Replace a value in a data frame based on a conditional (`if`) statement 我想重命名变量中的类别,如下所示: 根据条件(`if`)语句替换数据框中的值

The values of itog$GOODS_NAME are: itog$GOODS_NAME的值是:

МАКФА макар УЛИТКИ 450г

When I change one of them like this: 当我这样更改其中之一时:

itog$GOODS_NAME[itog$GOODS_NAME == "макар"] <- "макароны"

The values of itog$GOODS_NAME should be: itog$GOODS_NAME的值应为:

МАКФА макароны УЛИТКИ 450г`

But instead they are unchanged: 但相反,它们没有改变:

itog$GOODS_NAME

МАКФА макар УЛИТКИ 450г

I guess that your variable itog$GOODS_NAME is a factor. 我想您的变量itog $ GOODS_NAME是一个因素。 You can check that with class(itog$GOODS_NAME) . 您可以使用class(itog$GOODS_NAME) When it is a factor, you have to convert it to a character. 如果是因素,则必须将其转换为字符。

itog = data.frame(GOODS_NAME = c("МАКФА", "макар", "УЛИТКИ", "450г"))
itog$GOODS_NAME = as.character(itog$GOODS_NAME)
itog$GOODS_NAME[itog$GOODS_NAME=="макар"] = "макароны"
itog$GOODS_NAME

Output: 输出:

"МАКФА"    "макароны" "УЛИТКИ"   "450г"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM