我试图将一堆整数变量(值从1到10加上几个NAs)转换为相同数量的布尔变量,其中值< = 8变为FALSE,> 8变为TRUE,并且NAs仍然是NAs。
基于其他Q& As,我尝试了以下但没有任何效果:
TPS <- names(datos[,1:3])
for(i in TPS) {
data4[[i]]==NA <- NA
data4[[i]]<8 <- FALSE
data4[[i]]>=8 <- TRUE
}
TPS <- names(data4[,8:48])
for(i in TPS) {
data4[,i]==NA <- NA
data4[,i]<8 <- FALSE
data4[,i]>=8 <- TRUE
}
TPS <- names(data4[,8:48])
for(i in TPS) {
ifelse(data4[,i]<8, FALSE, TRUE)
}
我知道如何一次做一个变量,但是我的数据集有64个变量,我只需要用两种不同的方式进行变换,所以只用两个步骤来完成这个过程非常有用。
答案 0 :(得分:3)
你可以使用
data4[,8:48] >8
输出将是matrix
TRUE/FALSE
个值NA
和{{1}}(如果有)。