0

我一直试图将一堆整数变量(值从 1 到 10,加上几个 NA)转换为相同数量的布尔变量,其中值 <=8 变为 FALSE,>8 变为 TRUE,NA 保持为NA。

基于周围的其他问答,我尝试了以下但没有任何效果:

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 个变量,我必须以 2 种不同的方式进行转换,因此只需 2 个步骤即可完成此操作的过程将非常有用。

4

1 回答 1

3

你可以使用

 data4[,8:48] >8

输出将是值的逻辑matrixTRUE/FALSENA如果有)。

于 2015-08-05T16:44:39.443 回答