This function takes a data frame, a vector of types, a list of knot vectors, and a vector of orders. It returns a list of codings for the variables, i.e., crisp indicator, numerical version, or fuzzy indicator.
mkIndiList(data, type = rep("C",dim(data)[2]), knots, ord)
Arguments
data: Data frame to be converted.
type: If "C", a crisp indicator is returned; if "A", a numerical version; if "F", the b-spline basis as a fuzzy indicator.
knots: List of knot sequences for type-F coding.
ord: Vector with b-spline order for type-F coding.
Details
For the fuzzy coding, the variable values need to be provided as integers. Each list element contains a vector with knots (breaks) for each variable separately. The order is defined through the ord argument as vector (again, for each variable). See bsplines help file for more details.
See Also
expandFrame, burtTable
Examples
## sleeping bags crisp and numericdata(sleeping)sleeping_cat <- sleeping
temp_cat <- cut(sleeping$Temperature, c(-20,-1,7), labels = c("warm","cold"))sleeping_cat$Temperature <- temp_cat
weight_cat <- cut(sleeping$Weight, c(700,1100,2200), labels = c("light","heavy"))sleeping_cat$Weight <- weight_cat
price_cat <- cut(sleeping$Price, c(100,250,350,700),labels = c("cheap","medium","expensive"))sleeping_cat$Price <- price_cat
sleeping_cat
mkIndiList(sleeping_cat)## crispmkIndiList(sleeping_cat, type = rep("A", ncol(sleeping_cat)))## numericmkIndiList(sleeping_cat, type = c("A","A","A","C"))## mixed## artificial data fuzzy codingx1 <- sample(1:6,20, replace =TRUE)x2 <- sample(1:3,20, replace =TRUE)data <- data.frame(x1,x2)knots <- list(c(1,3,5,6), c(1,2,3))ord <- c(2,1)mkIndiList(data, type = c("F","F"), knots = knots, ord = ord)## Also mixed indicator versions are possiblemkIndiList(data, type = c("C","F"), knots = knots, ord = ord)