r - SMOTE困难,矩阵上的下标数量不正确

标签 r error-handling

谁能帮我解决这个错误。从我在网上阅读的内容中,我将类型更改为因数和数值,并估算出所有缺失的值,但似乎没有一个可行的方法。

> status<-df_status(train1)
                            variable q_zeros p_zeros q_na p_na q_inf p_inf    type unique
1                                Num       0    0.00    0    0     0     0 numeric   6146
2                             Repaid    5610   91.28    0    0     0     0  factor      2
3                              Score       0    0.00    0    0     0     0  factor     10
4                             REGION       0    0.00    0    0     0     0  factor      8
5                             Gender       0    0.00    0    0     0     0  factor      3
6                         CUST_TITLE       0    0.00    0    0     0     0  factor      5
7                                Age       0    0.00    0    0     0     0  factor      9
8                           CUSTTYPE       0    0.00    0    0     0     0  factor      4
9                          LOAN_TYPE       0    0.00    0    0     0     0  factor      3
10                    EFFECTIVE_RATE       0    0.00    0    0     0     0 numeric   2582
11               Work.numberincluded    1282   20.86    0    0     0     0  factor      2
12         Number.of.contact.numbers      58    0.94    0    0     0     0  factor      4
13            Months_since_wirte_off       3    0.05    0    0     0     0 numeric    160
14                 ORIG_WRITEOFF_AMT       1    0.02    0    0     0     0 numeric   6145
15              ACT_CAPITAL_BAL_WOFF      15    0.24    0    0     0     0 numeric   6129
16 CURR_OUTSTANDING.at.Purchase.date       0    0.00    0    0     0     0 numeric   6141
17         CURR_OUTSTAND_ACT_CAP_BAL      13    0.21    0    0     0     0 numeric   6132
18                LAST_PMT_RECVD_AMT    1684   27.40    0    0     0     0 numeric   1229
19         Months_since_last_payment       6    0.10    0    0     0     0 numeric     62
20     Total.credit.less.total.debit     921   14.99    0    0     0     0 numeric   4194
21                 Months.since.repo    1315   21.40    0    0     0     0 numeric    150
22                            Repoed       0    0.00    0    0     0     0  factor      2
23                      PROCEEDS_AMT    1315   21.40    0    0     0     0 numeric    678
24                 Manufactured.YEAR       0    0.00    0    0     0     0 numeric     26
25         Relatives.number.Provided       0    0.00    0    0     0     0  factor      2
26            MONTHS_TO_PRESCRIPTION       0    0.00    0    0     0     0 numeric     51
27           REASON_FOR_INTERRUPTION       0    0.00    0    0     0     0  factor      2
> is.factor(train1$Repaid)
[1] TRUE
> balanced.data <- SMOTE(Repaid ~., train1, perc.over = 4000, k = 5, perc.under = 100)
Error in T[, col] <- data[, col] : 
  incorrect number of subscripts on matrix
In addition: Warning messages:
1: In if (class(data[, col]) %in% c("factor", "character")) { :
  the condition has length > 1 and only the first element will be used
2: In if (class(data[, col]) %in% c("factor", "character")) { :
  the condition has length > 1 and only the first element will be used

最佳答案

我遇到了类似的问题,并且能够通过将数据集转换为数据框而不是小标题来解决此问题(不确定原因)。

smote_dataset <- as.data.frame(full_dataset)
smote_dataset$label <- as.factor(smote_dataset$label)
然后,我可以运行:
smote_round1 <-
  DMwR::SMOTE(
    form = label ~ .,
    data = smote_dataset,
    perc.over = 600,
    perc.under = 100
  )
我不确定您是否正在使用tidyverse/以小标题的形式进行广播,但这对我有用。

关于r - SMOTE困难,矩阵上的下标数量不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62658546/

相关文章:

在没有 S-Plus 的情况下读取 S-Plus 数据库?

r - 绘制 3D 曲面,重命名轴的标题

javascript - 遍历数组时的错误处理

r - 如何在 ggplot2::geom_step() 中将线居中,类似于 highcharter

r - 如何在 Windows 7 64 位上安装 ROracle

command-line - R 中的命令行问题

asp.net - ASP.NET –数据库存储过程中的错误处理

由于运行程序集路径不正确而导致 WPF 设计器错误

php - 在 PHP 中处理白屏死机

c++ - 我哪里错了?我收到链接器错误( undefined symbol ),我被卡住了