2

我的包 clogitLasso 有问题,我不断收到错误“(列表)对象不能被强制输入'double'”

我已经对此进行了大量搜索,并且有很多方法可以预先转换数据以解决此问题,但是无论我做什么,它都会不断出现。

我不确定我在这里做错了什么 - 我可以在 R 中生成与此结构完全相同的数据,并且它以相同的语法运行而没有任何问题,但是当我像这样读取它时它不起作用。

使用数据(修剪,但给出相同的错误):https ://pastebin.com/WfB1LJQ2

和代码:

library(clogitLasso)
#Read in data
data <- read.csv('data.txt',sep="\t")

#Data must be sorted so that the 
#binary=1 option comes FIRST within the strata
datasorted <- data[order(data$groupid,-data$binary),]

#Convert from a data frame to numericals
X <- as.matrix(datasorted[,1:4])
y <- as.numeric(datasorted[,5])
group <- as.numeric(datasorted[,6])

results <- clogitLasso(X,y,group)

这每次都会产生相同的错误。任何提示将非常感谢!

4

1 回答 1

4

该对象y必须属于 class matrix。这是修改后的代码:

library(clogitLasso)
data <- read.csv('WfB1LJQ2.txt',sep="\t", header=T)
datasorted <- data[order(data$groupid,-data$binary),]
X <- as.matrix(datasorted[,1:4])
y <- as.matrix(datasorted[,5])
group <- as.numeric(datasorted[,6]) 

results <- clogitLasso(X,y,group)  
plot(results)

在此处输入图像描述

于 2017-05-24T21:05:46.010 回答