[英]Replace value based on a conditional in 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.