嗨我有一个包含多个列的数据集,这些列填充了NA或“Y”。我希望分别使这些值为0和1。将多个列转换为二进制数据R
我对R相当陌生,试图确定循环这些变量并重新编码它们的最佳方法。
STATE<-c(NA, "WA", "NY", NA, NA)
x<-c(NA,"Y",NA,NA,"Y")
y<-c(NA,NA,"Y",NA,"Y")
z<-c("Y","Y",NA, NA, NA)
mydata<-data.frame(x,y,z)
我有一个很大的数据集和许多这些变量。但是,其中一些(如国家),我希望独自离开。任何帮助将不胜感激。谢谢。
是否有一种方法仅对选定变量执行此操作(请参阅编辑)?另外,我认为你是对的...二进制是我想要的。也就是说,如果它们在算术函数中解析为1和0。 TRUE + TRUE是否等于2? – pyll
如果你只想修改一些列,你可以像'mydata [c('x','y')] = ifelse(is.na(mydata [c('x','y')]) ,0,ifelse(mydata [c('x','y')] ==“Y”,1,mydata [c('x','y')]))其中包含您想要的列名保持。并且是TRUE + TRUE = 2 – xraynaud