Description Usage Arguments Details Value References Examples
The decision matrix is the basic object for analyzing data from product configurators (pC). The decision matrix is basically a representation of the interaction of one user with a product configurator through each step. Each columns stands for one attribute of the pC, i.e. for one specific product setting. Each row represents different configurations of a product. The rounds vary between users, since they are generated each time the user interacts with the pC. See Details for more info.
1 2 |
dataset |
a |
userid |
an integer vector indicating for which user the output of this function should be calculated. This functions is vectorised in this argument, i.e. you may enter more userIDs simultaneously. |
attr |
attribute IDs, vector of integer numbers corresponding to the attributes (columns) you desire to use. |
rounds |
integer vector, text option or a list of integer vectors. Which
steps of the configuration process should be shown? Defaults are first and
last step. Text options are |
cost_ids |
argument used to convert selected cost attributes into
benefit attributes. Integer vector. Cost type attributes have the
characteristic, that a lower value means the user is better off than with a
higher value. E.g. price is often considered a cost type attribute. Should be equal to
|
dataset
We assume the input data.frame has following columns
usid = User IDs, round = integers indicating which round the user is in
(0-index works best for 'round'), atid = integer column for referring the
attribute ID (1 indexed), selected = numeric value of the attribute for a
specific, given round, selectable = amount of options the user can chose at
a given round, with the current configuration. This is a necessary
parameter.
userid
is a necessary parameter, without it you'll get a warning.
Default is NULL.
attr
Default calculates with all attributes. Attributes are
automatically read from provided table, it is important you always provide
the complete dataset so that the package functions properly. Moreover the
attributes will not be sorted. Output columns are returned in the ordered
they were inputed.
rounds
If you need to compute different rounds for each user you enter, this
argument accepts a list of integer vectors indicating which rounds should be used for each user.
The function does not read names, it works in the order the list was given.
cost_ids
If attr
and cost_ids
differ, the functions will first
compute the entire decision matrix using the cost_ids
and only in the end will
it 'subset' the result to the desired attr
.
Default assumes all your attributes are of benefit type, that is a higher value in the attribute means the user is better of than with a lower value. If one or more of the attributes in your data is of cost type, e.g. price, so that lower is better then you should identify this attributes as such, providing their ID, they'll be converted to benefit type (higher amount is better).
General: Through the matrix you can observe the value of each attribute at any given moment or round. The number of columns of the matrix will always be the same for all users. The number of rows depends on how much clicks or rounds the user made in the product configurator. At the very least, you will always get 'round 0' meaning the initial, default configuration and 'round 1' the last or final configuration, this is assuming the user just clicked once or not at all.
A decision matrix for selected users with rows.length =
length(rounds
) and column.length = length(attr
). Colnames =
attrIDs and rownames = chosen rounds.
ProductConfig Github page: https://github.com/avilesd/productConfig
1 2 3 4 5 6 7 8 | #Not Runnable yet
decisionMatrix(camera2_config_data, 11) # Necessary arguments dataset and userid
decisionMatrix(my_data, userid = 11:15, attr = c(1,3,5))
decisionMatrix(another_data, userid = c(80,90,100,110), rounds = c(1,2,3,7,8,9))
decisionMatrix(data2, 2:200, rounds = "all")
decisionMatrix(data2, 120, rounds = "first", cost_ids = 1)
decisionMatrix(data1, userid = 5, attr = c(1,4), rounds = "all", cost_ids="c(1,2)") #All possible parameters are in use here.
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.