%%COMPUTE%% {bruceR} R Documentation

## Multivariate computation.

### Description

Easily compute multivariate sum, mean, and other scores. Reverse scoring can also be easily implemented without saving extra variables. `Alpha` function uses a similar method to deal with reverse scoring.

Three options to specify variables:

1. `var + items`: use the common and unique parts of variable names.

2. `vars`: directly define a character vector of variables.

3. `varrange`: use the starting and stopping positions of variables.

### Usage

```COUNT(data, var = NULL, items = NULL, vars = NULL, varrange = NULL, value = NA)

MODE(data, var = NULL, items = NULL, vars = NULL, varrange = NULL)

SUM(
data,
var = NULL,
items = NULL,
vars = NULL,
varrange = NULL,
rev = NULL,
likert = NULL,
na.rm = TRUE
)

MEAN(
data,
var = NULL,
items = NULL,
vars = NULL,
varrange = NULL,
rev = NULL,
likert = NULL,
na.rm = TRUE
)

STD(
data,
var = NULL,
items = NULL,
vars = NULL,
varrange = NULL,
rev = NULL,
likert = NULL,
na.rm = TRUE
)

CONSEC(
data,
var = NULL,
items = NULL,
vars = NULL,
varrange = NULL,
values = 0:9
)
```

### Arguments

 `data` Data frame. `var` [Option 1] The common part across the variables. e.g., `"RSES"` `items` [Option 1] The unique part across the variables. e.g., `1:10` `vars` [Option 2] A character vector specifying the variables. e.g., `c("X1", "X2", "X3", "X4", "X5")` `varrange` [Option 3] A character string specifying the positions ("starting:stopping") of variables. e.g., `"A1:E5"` `value` [Only for `COUNT`] The value to be counted. `rev` [Optional] Variables that need to be reversed. It can be (1) a character vector specifying the reverse-scoring variables (recommended), or (2) a numeric vector specifying the item number of reverse-scoring variables (not recommended). `likert` [Optional] Range of likert scale (e.g., `1:5`, `c(1, 5)`). If not provided, it will be automatically estimated from the given data (BUT you should use this carefully). `na.rm` Ignore missing values. Default is `TRUE`. `values` [Only for `CONSEC`] Values to be counted as consecutive identical values. Default is all numbers (`0:9`).

### Value

A vector of computed values.

### Functions

• `COUNT`: Count a certain value across multiple variables.

• `MODE`: Compute mode across multiple variables.

• `SUM`: Compute sum across multiple variables.

• `MEAN`: Compute mean across multiple variables.

• `STD`: Compute standard deviation across multiple variables.

• `CONSEC`: Compute consecutive identical digits across multiple variables (especially useful in detecting careless responding).

### Examples

```d=data.table(x1=1:5,
x4=c(2,2,5,4,5),
x3=c(3,2,NA,NA,5),
x2=c(4,4,NA,2,5),
x5=c(5,4,1,4,5))
d
## I deliberately set this order to show you
## the difference between "vars" and "varrange".

d[,`:=`(
na=COUNT(d, "x", 1:5, value=NA),
n.2=COUNT(d, "x", 1:5, value=2),
sum=SUM(d, "x", 1:5),
m1=MEAN(d, "x", 1:5),
m2=MEAN(d, vars=c("x1", "x4")),
m3=MEAN(d, varrange="x1:x2", rev="x2", likert=1:5),
cons1=CONSEC(d, "x", 1:5),
cons2=CONSEC(d, varrange="x1:x5")
)]
d

data=as.data.table(psych::bfi)
data[,`:=`(
E=MEAN(d, "E", 1:5, rev=c(1,2), likert=1:6),
O=MEAN(d, "O", 1:5, rev=c(2,5), likert=1:6)
)]
data

```

[Package bruceR version 0.8.0 Index]