Lasso 回帰を実行しようとしていますが、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) ですが、Y には 100、X には 222 しかないというエラーが表示されます。
#So I checked for Y here
>length(Y)
[1] 222
#Then checked for X
> length(X)
[1] 1110
さて、それは確かに私が何かを見逃していることを示しています. 明らかに行列のサイズが異なり、X は 222*5 列ですが、どうすれば機能させることができますか? このエラーがなくなることを意味します...私は多くの方法を試しました。私は何時間もそれに取り組んでいますが、それは本当に私の進歩を妨げており、グーグルからの助けはあまりありません. 解決に感謝します。