r - 根据 R 中的条件替换值
问题描述
我有一个带有一些年龄变量的df,我想对其进行修改。
DEATH CITY BIRTH AGE SEX
> 1 5092017 Acre 3031997 20 MASCULINO
> 2 11022017 Acre 9022017 202 MASCULINO
> 3 11022017 Acre 13071933 83 FEMININO
> 4 11022017 Acre 6022002 15 MASCULINO
> 5 11022017 Acre 2061966 50 FEMININO
> 6 11022017 Acre 28121946 70 FEMININO
> 7 10022017 Acre 4121955 61 MASCULINO
> 8 10022017 Acre 3101943 73 FEMININO
> 9 10022017 Acre 6022017 20 MASCULINO
> 10 9022017 Acre 14012017 226 FEMININO
> 11 9022017 Acre 20071931 85 FEMININO
这些带有 3 个字符的行代表生命的月 (3)、天 (2) 和小时 (1),我想将其值更改为 0,因为它们还没有完成 1 岁。
我尝试使用 if 条件,但它不起作用......
if((nchar(DO_concatenated$IDADE) == 3)&(funcaoidade(DO_concatenated$IDADE) <=3)){
DO_concatenated$IDADE <- 0))
}
“funcaoidade”它是我创建的一个函数,它只查看这些数字的第一个字符
funcaoidade = function(x){
substr(x, start = 1, stop = 1)
}
由于我是 R 编程的初学者,我请求您的帮助哈哈哈我做错了什么?提前致谢
解决方案
我们可以通过创建一个逻辑向量来进行赋值。未if/else
向量化,它期望输入向量为length
1
i1 <- nchar(DO_concatenated$IDADE) == 3)&(funcaoidade(DO_concatenated$IDADE<=3))
DO_concatenated$IDADE[i1] <- 0
推荐阅读
- openstack - 如何使用汤团,aodh
- r - 为变量的每个观察值创建列
- mysql - 我们可以在创建表后声明一个变量吗
- flutter - 如何在 Flutter 中为 Text Widget 添加自定义删除线
- python - 如何在python中的电话号码列表中进行字符串替换?
- css - 如何使另一个div中的div可见
- reactjs - 使用 webpack 捆绑一个 React 组件以由另一个 React 组件导入
- npm - 如何访问私有 nexus 存储库以安装 npm 包?
- python - 如何使用 django F 表达式仅过滤日期时间字段的日期
- python - 使用 io.StringIO 获取空字节