我的数据集看起来像这样转换类别字符串编号
category number
male 01
male 02
female 03
male 04
male 05
我的问题是如何转换的类别列male=1
和female=2
。 我想1到位男性和2代替女
我的数据集看起来像这样转换类别字符串编号
category number
male 01
male 02
female 03
male 04
male 05
我的问题是如何转换的类别列male=1
和female=2
。 我想1到位男性和2代替女
levels(df$category)[c("male","female")] <- c(1,2)
如果你想要一个数值向量:
df$category <- as.numeric(df$category)
这应该解决!
但是,变量'category'仍然是'factor' ... – loki
也许他想替换因子水平。 OP的要求并不明确。 –
让我们开始重复的例子:
x = data.frame(category = c("male", "male", "female", "male", "male"),
number = paste0("0", 1:5))
这将创建一个满足你需求的数值向量:
x$cat_num <- as.numeric(factor(x$category, levels = c("male", "female")))
x
# category number cat_num
# 1 male 01 1
# 2 male 02 1
# 3 female 03 2
# 4 male 04 1
# 5 male 05 1
从复制后,'(一== “女”)+ 1'会为你工作。 –