Что вызывает пропущенную ошибку TRUE / FALSE в любом (TF) при локальном подавлении в R sdcMicro? - PullRequest
0 голосов
/ 08 апреля 2020

Я пробовал локальную функцию подавления sdcMicro со следующим кодом

library(sdcMicro)

df <- read.csv('nba-players-stats/player_data.csv')
columns <- c("weight")

sdc0 <- createSdcObj(dat = df, keyvars = columns)

get_bucket_range <- function(interval,lower,higher){ # Just some function used to generate the bucket intervals
  bucket <- c(lower)
  current <- lower
  while (current < higher) {
    current <- current + interval
    if (current > higher){
      current <- higher
    }
    bucket <- c(bucket,current)
  }
  bucket
}

bucket_range <- get_bucket_range(10,100,400)
sdc1 <- globalRecode(sdc0,column = columns, breaks = bucket_range)
df$"weight" <- sdc1@manipKeyVars$"weight"

k = 2

sdc2 <- localSuppression(sdc1, k = k, importance = NULL)
sdc2 <- localSuppression(sdc0, k = k, importance = NULL)

Однако, каждый раз, когда я пытаюсь выполнить любую из функций localSuppression в столбце веса, я получаю эту ошибку:

Error in if (any(TF)) { : missing value where TRUE/FALSE needed

Это, кажется, происходит только в столбце веса. Другие столбцы, такие как высота, колледж, позиция, year_start и year_end, в порядке. Что я делаю не так?

Набор данных, который я использую, взят из этой ссылки на Kaggle: https://www.kaggle.com/drgilermo/nba-players-stats

РЕДАКТИРОВАТЬ: Очевидно, это происходит всякий раз, когда столбец назван ' вес'. Помогает просто изменить имя столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...