找回密码
 注册
查看: 1231|回复: 0

R语言 WMDB包 dbayes()函数中文帮助文档(中英文对照)

  [复制链接]
发表于 2012-10-1 22:45:37 | 显示全部楼层 |阅读模式
dbayes(WMDB)
dbayes()所属R语言包:WMDB

                                         Using bias method to distinguish classes
                                         使用偏置的方法来区分类

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

using bias method to distinguish classes
使用偏置的方法来区分类


用法----------Usage----------


dbayes(TrnX, TrnG, p = rep(1, length(levels(TrnG))), TstX = NULL, var.equal = FALSE)



参数----------Arguments----------

参数:TrnX
matrix or data frame of training set cases.  
矩阵或数据框的训练集的情况下。


参数:TrnG
vector of factors of the samples  
向量的样品的因素


参数:p
vector of prior probability of samples  
先验概率的样本中的矢量的


参数:TstX
matrix or data frame of test set cases. A vector will be interpreted as a row vector for a single case.  
矩阵或数据框的测试集的情况下。一种向量,将被解释为一个单一的情况下作为一个行向量。


参数:var.equal
whether class have the same covariance or not  
是否类具有相同的协方差或不


Details

详细信息----------Details----------

the distribution of samples shuold be normal distribution
样本分布shuold正态分布


值----------Value----------

result of classifications of test set will be returned. (When TstX is NULL, the function will automatically consider the user is trying to test the Discriminant Analysis Methods by weight Mahalanobis distance. Hence, a test result table and accuracy report will be shown on the R-console.)
测试集的分类结果将被返回。 (当TstX是NULL,该函数会自动考虑用户正试图测试重量马氏距离判别分析方法,因此,测试结果表,准确度报告将显示在R-控制台)。


(作者)----------Author(s)----------



Bingpei Wu




参考文献----------References----------



实例----------Examples----------


##---- Should be DIRECTLY executable !! ----[#----应该是直接的可执行文件! ----]
##-- ==>  Define data, use random,[ -  ==>定义数据,使用随机的,]
##--        or do  help(data=index)  for the standard data sets.[# - 帮助(数据=索引)的标准数据集。]
X<-iris[,1:4]
G<-gl(3,50)
dbayes(X,G)

## The function is currently defined as[#功能目前被定义为]
function (TrnX, TrnG, p = rep(1, length(levels(TrnG))), TstX = NULL,
    var.equal = FALSE)
{
    if (is.factor(TrnG) == FALSE) {
        mx <- nrow(TrnX)
        mg <- nrow(TrnG)
        TrnX <- rbind(TrnX, TrnG)
        TrnG <- factor(rep(1:2, c(mx, mg)))
    }
    if (is.null(TstX) == TRUE)
        TstX <- TrnX
    if (is.vector(TstX) == TRUE)
        TstX <- t(as.matrix(TstX))
    else if (is.matrix(TstX) != TRUE)
        TstX <- as.matrix(TstX)
    if (is.matrix(TrnX) != TRUE)
        TrnX <- as.matrix(TrnX)
    nx <- nrow(TstX)
    blong <- matrix(rep(0, nx), nrow = 1, dimnames = list("blong",
        1:nx))
    g <- length(levels(TrnG))
    mu <- matrix(0, nrow = g, ncol = ncol(TrnX))
    for (i in 1:g) mu[i, ] <- colMeans(TrnX[TrnG == i, ])
    D <- matrix(0, nrow = g, ncol = nx)
    if (var.equal == TRUE || var.equal == T) {
        for (i in 1:g) {
            d2 <- mahalanobis(TstX, mu[i, ], var(TrnX))
            D[i, ] <- d2 - 2 * log(p[i])
        }
    }
    else {
        for (i in 1:g) {
            S <- var(TrnX[TrnG == i, ])
            d2 <- mahalanobis(TstX, mu[i, ], S)
            D[i, ] <- d2 - 2 * log(p[i]) - log(det(S))
        }
    }
    for (j in 1:nx) {
        dmin <- Inf
        for (i in 1:g) if (D[i, j] < dmin) {
            dmin <- D[i, j]
            blong[j] <- i
        }
    }
    print(blong)
    print("num of wrong judgement")
    print(which(blong != TrnG))
    print("samples divided to")
    print(blong[which(blong != TrnG)])
    print("samples actually belongs to")
    print(TrnG[which(blong != TrnG)])
    print("percent of right judgement")
    print(1 - length(which(blong != TrnG))/length(blong))
  }

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-23 15:00 , Processed in 0.027948 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表