我在R中有以下数据:
name coltype x y
ADDL_AUTH_AMT DECIMAL 11 2
BILL_NAME CHAR 30 0
BIRTH_DATE DATE 4 0
我想做的是检查第二列是否为“ DECIMAL”,如果是,请将x的值更改为x + 1。这是我尝试过的:
db2$coltype2 <- ifelse(db2$COLTYPE %in% c('DECIMAL'), db2$LENGTH+1, db2$LENGTH)
基本上,如果COLTYPE为DECIMAL,则取长度并加1。如果不是,则使用长度值。它创建了一个新列,但具有完全相同的值,并且没有任何变化。
如何检查列中的行是否等于值/字符串,然后更改另一列中的行?
答案 0 :(得分:1)
我们需要更改列名
ifelse(db2$COLTYPE %in% c('DECIMAL'), db2$x+1, db2$x)