如何让这个功能在R中工作?

时间:2017-09-18 15:25:32

标签: r function

prob.matrix <- function(tables){

tables <- addmargins(table(titanicData$Pclass, titanicData$Survived))
tables



 l <- matrix(data = 0, nrow = 4, ncol = 3, byrow = FALSE)
 l
for(x in 1:3 ){



  l[1:3, x] <- tables[c(1:3), x]/tables[c(4), x]
  l[4, x] <- tables[c(4), x]/tables[(4), 3]


}
 l
}


Pred <- function(Class, prob.matrix){
  if ("FirstClass")
  { Class <- prob.matrix[c(1),3]} 
  else if (class == "SecondClass") { Class <- prob.matrix[c(2),3]} 
  else if (class == "ThirdClass") {Class <- prob.matrix[c(3), 3]} 
  class
}

Pred("FirstClass")
class

我试图让第二个功能起作用。我希望能够在方括号中的Pred之后键入乘客的班级,并显示我的矩阵中的相关数据。我无法让它发挥作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

Pred <- function(Class, prob.matrix){
    if (Class == "FirstClass") { 
        class <- prob.matrix[c(1),3]
    } else if (Class == "SecondClass") { 
        class <- prob.matrix[c(2),3]
    } else if (Class == "ThirdClass") {
        class <- prob.matrix[c(3), 3]
    } 
  return(class)
}

您必须在函数末尾使用return才能返回结果。