введите описание изображения здесь Мне нужно просмотреть 565 столбцов данных, каждый из которых содержит числа, относящиеся к категории или количеству, и переменные имеют разную длину, т. Е. Один столбец содержит 0-9, сС 6 по 9, являющиеся категориальными, а 0-5 - суммами, соседний столбец содержит 0-999, причем 996,997,998 и 999 - категории (нет счета, закрытый счет и т. Д.), И только 0-992 - возраст в месяцах.Мне нужно изменить любое «категорическое» число на ноль, оставив только «значения».
Я попытался перебирать столбцы и строки, проверяя максимальную длину переменных в столбце, чтобы определить, какую «категорию»он находится внутри, затем изменяет все, что является номером категории, на 0. Однако, когда я запускаю следующее, это не меняет мои данные вообще.Я также хотел бы иметь возможность добавлять столбец рядом с каждым столбцом, указывающий категорию переменной, но это пока закомментировано.
splitcode <- функция (данные) {</p>
for ( i in ncol(data)){
col <- data[,i]
max_length <- max(nchar(col))
for ( j in nrow(data)){
val <- data[j,i]
if( max_length == 1){
ifelse(val > 5, 0,val)
}
#data$attribute_type[i] <- 'Amount'
if( max_length == 2){
ifelse(val > 92, 0, val)
}
#data$attribute_type[i] <- 'Number of Accounts'
if( max_length == 3){
ifelse(val > 992, 0, val)
}
#data$attribute_type[i] <- 'Age in Months'
if( max_length == 4){
ifelse(val > 9992, 0, val)
}
#data$attribute_type[i] <- 'Age in Months'
if( max_length == 7){
ifelse( val > 9999992, 0, val)
#data$attribute_type[i] <- 'Total Balance'
}
else{
#then we know you're a percentage
ifelse(val > 1, 0, val)
#data$attribute_type[i] <- 'Percentage'
}
}
}
return(data)
}
Я не получаю сообщений об ошибках, но возвращаемые данные являются нулевыми или неизменными.Я хочу, чтобы возвращенный набор данных был обновлен 0 значений