我有一个数据框(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;除此之外,我对如何创建循环一无所知。