Max-min马尔可夫毯功能选择:R代码错误

时间:2017-11-08 23:58:55

标签: r feature-selection

我正在使用Max-min Markov一揽子算法在R MXM包中进行变量选择。以下是我的代码:

library(MXM)

dataset = read.table('data.txt', na.string = c("", "NA"), sep = '\t', header = FALSE)
dataset = dataset[, colSums(is.na(dataset)) == 0]
D = as.matrix(as.data.frame(lapply(dataset, as.numeric)))
target = read.table('class_num.txt')
target = c(target)

aa = mmmb(target, D, max_k = 3, threshold = 0.05, test = "testIndFisher", user_test = NULL, robust = FALSE, ncores = 2)

我收到以下错误:

Error in unique(as.numeric(target)) : 
(list) object cannot be coerced to type 'double'

根据mmmb manual page我的数据集D是维度(95933 x 85)的连续值矩阵,而我的target[0, 1]大小为{的向量{1}}。

有人可以帮我理解错误吗?

1 个答案:

答案 0 :(得分:0)

得到了解决方案: target是列表而不是数组。以下行解决了这个问题:

target = array(as.numeric(unlist(target)))

谢谢!