Running examples in 'RoughSets-Ex.R' failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: BC.IND.relation.FRST
> ### Title: The indiscernibility relation based on fuzzy rough set theory
> ### Aliases: BC.IND.relation.FRST
> 
> ### ** Examples
> 
> ###########################################################
> ## Example 1: Dataset containing nominal values for
> ## all attributes.
> ###########################################################
> ## Decision table is represented as data frame
> dt.ex1 <- data.frame(c(1,0,2,1,1,2,2,0), c(0, 1,0, 1,0,2,1,1),
+                         c(2,1,0,0,2,0,1,1), c(2,1,1,2,0,1,1,0), c(0,2,1,2,1,1,2,1))
> colnames(dt.ex1) <- c("aa", "bb", "cc", "dd", "ee")
> decision.table <- SF.asDecisionTable(dataset = dt.ex1, decision.attr = 5,
+       indx.nominal = c(1:5))
> 
> ## In this case, we only consider the second and third attributes.
> attributes <- c(2, 3)
> 
> ## calculate fuzzy indiscernibility relation ##
> ## in this case, we are using "crisp" as a type of relation and type of aggregation
> control.ind <- list(type.relation = c("crisp"), type.aggregation = c("crisp"))
> IND <- BC.IND.relation.FRST(decision.table, attributes = attributes, control = control.ind)
 ----------- FAILURE REPORT -------------- 
 --- failure: the condition has length > 1 ---
 --- srcref --- 
: 
 --- package (from environment) --- 
RoughSets
 --- call from context --- 
Reduce.IND(init.IND, t.tnorm, t.aggregation = t.aggregation, 
    delta = delta)
 --- call from argument --- 
if (class(new.IND) != "matrix") {
    new.IND = new.IND[[1]]
}
 --- R stacktrace ---
where 1: Reduce.IND(init.IND, t.tnorm, t.aggregation = t.aggregation, 
    delta = delta)
where 2: calc.fsimilarity(decision.table, attributes, t.tnorm = type.aggregation[[2]], 
    disc.mat = disc.mat, t.aggregation = type.aggregation[[1]], 
    type.MVCompletion = type.MVCompletion, alpha = control$alpha)
where 3: BC.IND.relation.FRST(decision.table, attributes = attributes, 
    control = control.ind)

 --- value of length: 2 type: logical ---
[1] FALSE  TRUE
 --- function from context --- 
function (IND.relation, t.tnorm, t.aggregation = "t.tnorm", delta = 0.5, 
    variance.data = 0.5) 
{
    if (length(IND.relation) == 1) {
        new.IND = IND.relation
    }
    else {
        if (t.aggregation == "custom") {
            new.IND <- t.tnorm(IND.relation)
        }
        else if (t.aggregation == "kernel.frst") {
            distance <- Reduce("+", IND.relation)/length(IND.relation)
            new.IND <- do.call(t.tnorm, list(distance, delta))
        }
        else {
            temp.init <- IND.relation[[1]]
            if (class(t.tnorm) == "character") {
                for (i in 2:length(IND.relation)) {
                  temp.init <- do.call(func.tnorm, list(temp.init, 
                    IND.relation[[i]], t.tnorm))
                }
            }
            else if (class(t.tnorm) == "function") {
                for (i in 1:nrow(IND.relation[[1]])) {
                  for (j in 1:ncol(IND.relation[[1]])) {
                    temp.left <- IND.relation[[1]][i, j]
                    for (k in 2:length(IND.relation)) {
                      temp.left <- t.tnorm(temp.left, IND.relation[[k]][i, 
                        j])
                    }
                    temp.init[i, j] <- temp.left
                  }
                }
            }
            else {
                stop("please enter the correct tnorm operator")
            }
            new.IND <- temp.init
        }
    }
    if (class(new.IND) != "matrix") {
        new.IND = new.IND[[1]]
    }
    return(new.IND)
}
<bytecode: 0x34d1fd8>
<environment: namespace:RoughSets>
 --- function search by body ---
Function Reduce.IND in namespace RoughSets has this body.
 ----------- END OF FAILURE REPORT -------------- 
Error in if (class(new.IND) != "matrix") { : the condition has length > 1
Calls: BC.IND.relation.FRST -> calc.fsimilarity -> Reduce.IND
Execution halted