R:矩阵乘法错误-与GLM有关

时间:2018-12-10 19:04:26

标签: r glm

我一直在尝试为Logistic回归构建一些自定义代码(即,我无法为此目的使用GLM软件包-很高兴解释原因。)

下面是提供我正在使用的数据集的初始R代码:

## Load the datasets
data("titanic_train")
data("titanic_test")

## Combining Training and Testing dataset
complete_data <- rbind(titanic_train, titanic_test)

library(dplyr)
titanic_test$Survived <- 2
complete_data <- rbind(titanic_train, titanic_test)
complete_data$Embarked[complete_data$Embarked==""] <- "S"
complete_data$Age[is.na(complete_data$Age)] <- 
median(complete_data$Age,na.rm=T)
complete_data <- as.data.frame(complete_data)
titanic_data <- select(complete_data,-c(Cabin, PassengerId, Ticket, 
Name))

titanic_data <- titanic_data[!titanic_data$Survived == "2", ]

titanic_model <- model <- glm(Survived 
~.,family=binomial(link='logit'),data=titanic_data)


y <- titanic_data$Survived
x <- as.data.frame(cbind(rep(1, dim(titanic_data) 
[1]),titanic_data[,-2]))
x <- as.matrix(as.numeric(x))

beta <- as.numeric(rep(0, dim(x)[2]))
beta <- as.matrix(beta)

我在这里遇到的问题是我想计算 beta (px1矩阵)和 x ( anxp矩阵)

我尝试了以下方法-

beta * x
x %*% beta

但是,以上出现以下错误-

  

FUN中的错误(左,右):二进制运算符的非数字参数
  x%*%beta出现错误:需要数字/复杂矩阵/矢量参数

我想这是由于我在数据矩阵 x 中有非数字字段。
作为背景知识,计算线性预测变量将使我能够继续进行用于拟合Logistic回归模型的自定义代码。
我会感谢您的帮助-谢谢!

0 个答案:

没有答案