r - 从一列值在 R 中创建一个二进制变量
问题描述
我需要从另一个具有 3 个值的变量创建一个虚拟变量。变量为 TR,取值为 Standard、Track_E、Non_standard。我想要一个新变量来区分 Track_E 的值为 1,其余为 0,这是标准和非标准的组合
这是我到目前为止尝试过的代码。
CPS2011_12HSOnly$TR=as.factor(CPS2011_12HSOnly$TR)
CPS2011_12HSOnly$Yr_round <- ifelse(CPS2011_12HSOnly$TR == "Track_E", 1)
它给出了以下错误:
ifelse(CPS2011_12HSOnly$TR == "Track_E", 1) 中的错误:缺少参数“no”,没有默认值
解决方案
如错误消息中所述,ifelse
缺少no
参数。检查?ifelse
。
所以你需要做
CPS2011_12HSOnly$Yr_round <- ifelse(CPS2011_12HSOnly$TR == "Track_E", 1, 0)
但是,您也可以不这样做ifelse
CPS2011_12HSOnly$Yr_round <- as.integer(CPS2011_12HSOnly$TR == "Track_E")
推荐阅读
- r - 当数据为长格式且条件取决于分组组合时,如何有条件地改变新列
- angularjs - 解决针对 CommonJS 或 AMD 依赖项的警告
- python - 如何提取所有出现的共享重复键:值对的 JSON 对象?
- jquery - 使用 jQuery DataTables 进行数据可视化
- javascript - 在 javascript 控制台中存储为反斜杠的数据
- html - 如何将通过消息服务传入的字符串加粗?
- cryptography - 如何结合两种不同的密码算法或改进一种算法以获得更好的性能?
- python - 如何使用列表更新 CSV 列中的值?
- python - 将 Python 返回的值捕获到 VBA 脚本中
- qt - qml 检查/取消选中列表视图中的所有复选框