当另一列中的相应值为空时,将列中的值更改为零

时间:2017-02-28 11:49:34

标签: r

我有一个包含4列的数据集。如果在一列中特定单元格为空,则另一列中的值应替换为0。 例如:

df <- data.frame(rbind(c('A', '','W','1'),c('A','','W', '3'),c('A', 'BK','R','4'),c('B','BN','T', '12')))

结果应该是这个数据集:

df <- data.frame(rbind(c('A', '','W','0'),c('A','','W', '0'),c('A', 'BK','R','4'),c('B','BN','T', '12')))

有人能帮助我吗?

1 个答案:

答案 0 :(得分:-1)

假设您的数据框确实包含因素,那么您可以执行以下步骤:

1)添加&#39; 0&#39;等级到第4列 2)在第二列为空的行上,写入0到第4列

character

如果您不需要因素,可以将变量转换为字符,让您的生活更轻松......

如果您的列首先属于类df[df[, 2] == '',4] <- '0',则可以执行以下操作:

Fruits: 1. apple 2. Mango 3. Banana 4. Pineapple 5. Orange Animals: 1. Cow 2. Dog 3. fox

正如大卫在对你的问题的评论中所建议的那样