私は投げ縄回帰を取るしようとしているが、私はR.によく私のXとYを定義することはできませんが問題が
#load data
>test.data<-read.spss("C:\\Users\\Inhib\\OneDrive\\documents\\dummy.sav",use.value.labels=TRUE, to.data.frame=TRUE)
>test.data #testing my data, it's all there so I won't add it here
#take columns 2 to 6 for X
>X<-as.matrix(test.data[,2:6])
# Column 1 is the predicted variable Y
>Y<-as.matrix(test.data[,1])
#Ok, let's fit it
fit<- glmnet(x, y, family="gaussian", alpha=0, lambda=0.001)
その後、私は、このエラーメッセージが表示されます:
"Error in glmnet(x, y, family = "gaussian", alpha = 0, lambda = 0.001) :
number of observations in y (100) not equal to the number of rows of x (222)"
は、すべての列が同じ長さ(222)であるが、エラーがXにのみY 100及び222
があることを述べています今#So I checked for Y here
>length(Y)
[1] 222
#Then checked for X
> length(X)
[1] 1110
、それは確かに私が何かを見逃しているを指します。明らかに、行列のサイズは異なりますが、Xは222 * 5の列ですが、どのように動作させることができますか?このエラーが消えることを意味する...私は多くの方法を試みた。私は何時間も働いており、実際には私の進行を止め、Googleからの助けはあまりありません。解決に感謝します。
))
1をお勧めします、むしろ
length
2より
dim(x)
とdim(y)
を使用して行列の次元を確認してください)y
(可能性が高いのいずれかのNA値があるかどうかをチェックしますあなたは 'glmnet'で使っている' y'(小文字)ですか? 'rm(list = ls())'を実行して、コード全体をもう一度実行してみてください。 – Tensibai