我正在使用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}}。
有人可以帮我理解错误吗?
答案 0 :(得分:0)
得到了解决方案:
target
是列表而不是数组。以下行解决了这个问题:
target = array(as.numeric(unlist(target)))
谢谢!