根据多个列中的条件将字符替换为数字

时间:2019-04-04 02:58:18

标签: r

我有一个数据框(df),其中某些变量/列具有分类值,其他变量/列具有数值,并且两种类型均具有空格和NA。我想创建一个循环,只要它在数据帧的每一列中找到“是”,就将其更改为1,将“否”更改为0,但不更改NA或空白。

我已经阅读了如何通过以下操作手动更改它:

df$variable[df$variable == "No"] <- 0 

df$variable[df$variable == "Yes"] <- 1 

# or

df$variable <- ifelse(df$variable == 'No', 0, 1) 

但是事实是,我的df尺寸为10,000 x 1,000,其中400多个变量是分类的。

我知道,在循环中,我不能使用ifelse(),因为这会将空格更改为1;除此之外,我对如何创建循环一无所知。

0 个答案:

没有答案