【发布时间】:2022-12-18 09:44:56
【问题描述】:
我需要为 70 多个字符变量的大列分配一个数值
当有少数字符变量时,我只是手动进行变异(可能不是最好的方法,但它快速且有效)但这对于 70+ 变量不实用:
mutate(df,gender = ifelse(gender=="Female",0, ifelse(gender=="Male",1, 2))
我认为最好使用第 1 列中的 72 个变量和第 2 列中的数字创建一个新的 df(spec) 以供参考:
| speciality | Code |
|---|---|
| a | 1 |
| b | 2 |
| c | 3 |
| d | 4 |
| e | 5 |
| f | 6 |
...
我现在无法弄清楚如何改变我的数据以交换数字代码的专业。
任何帮助表示赞赏 - 特别是如果我一开始就走错了路
R知识还是比较基础的。我试过了
mutate(df,speciality = ifelse(speciality==spec[,1],spec[,2],0))
但得到一个错误
Error in env_has(env, name, inherit = TRUE) :
attempt to use zero-length variable name
【问题讨论】: