全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3144 1
2015-01-09
  在做贝叶斯近似推理时,想把如下代码封装到一个函数中去,可是怎么都调不通,请问各位大神该如何解决呢?
  R是一个数据框,前两列是数据集中数据,后两列是存储推理结果和计算时间
  函数要求输入参数是1、数据集dataset1;2、bn对象 fitted.rnd; 3、method调用的方法“ls”或“lw”
  函数返回值R
  代码如下:
  R <- data.frame(dataset1[ ,c(5,10)], NA, NA)
  names(R) <- c("WEATHERCONDICTIONS", "TRUES", "PREDS", "TIME")
  n <- nrow(dataset1)
  Sxt.ls1 <- c()
  for(i in 1:n){
                t <- as.vector(proc.time())[1]   #取第一个运行时间,计算时间
                Sxt.ls1[i] <- cpdist(fitted.rnd, nodes="Status",  
                                     evidence=((WeatherConditions==as.character(dataset1[i,5]))       
                                                     &(Visibility==as.character(dataset1[i,6])))
                                            ,method="ls")
                if(!is.null(names(which.max(prop.table(table(Sxt.ls1[i]))))))
                        R[i,"PREDS"] <- names(which.max(prop.table(table(Sxt.ls1[i]))))       
                else  R[i,"PREDS"] <- R[i,"PREDS"]
                R[i,"TIME"] <- as.vector(proc.time()-t)[1]
  }
  R

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-2-15 14:38:05
封装函数不是需要用function吗
function(啥啥啥){}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群