bdots
This vignette is created to illustrate the use of the
bdotsCorr
function, which finds the correlation between a
fixed value in our dataset and the collection of fitted curves at each
time points for each of the groups fit in bdotsFit
.
First, let’s take an existing dataset and add a fixed value for each of the subjects
library(bdots)
library(data.table)
## Let's work with cohort_unrelated dataset, as it has multiple groups
dat <- as.data.table(cohort_unrelated)
## And add a fixed value for which we want to find a correlation
dat[, val := rnorm(1), by = Subject]
head(dat)
## Subject Time DB_cond Fixations LookType Group val
## <num> <int> <char> <num> <char> <int> <num>
## 1: 1 0 50 0.01136364 Cohort 50 1.467987
## 2: 1 4 50 0.01136364 Cohort 50 1.467987
## 3: 1 8 50 0.01136364 Cohort 50 1.467987
## 4: 1 12 50 0.01136364 Cohort 50 1.467987
## 5: 1 16 50 0.02272727 Cohort 50 1.467987
## 6: 1 20 50 0.02272727 Cohort 50 1.467987
Now, we go about creating our fitted object as usual
## Create regular fit in bdots
fit <- bdotsFit(data = dat,
subject = "Subject",
time = "Time",
group = c("LookType", "Group"),
y = "Fixations", curveType = doubleGauss2(),
cores = 2)
Using this fit object, we now introduce the bdotsCorr
function, taking four arguments:
bdObj
, any object returned from a bdotsFit
callval
, a length one character vector of the value with
which we want to correlate. val
should be a column in our
original dataset, and it should be numericciBands
, a boolean indicating whether or not we want to
return 95% confidence intervals. Default is FALSE
method
, paralleling the method
argument in
cor
and cor.test
. The default is
pearson
.## Returns a data.table of class bdotsCorrObj
corr_ci <- bdotsCorr(fit, val = "val", ciBands = TRUE)
head(corr_ci)
## time Correlation lower upper Group Group1 Group2
## <int> <num> <num> <num> <char> <char> <char>
## 1: 0 -0.02529882 -0.6780286 0.6497395 Cohort 50 Cohort 50
## 2: 4 -0.04377854 -0.6879001 0.6389193 Cohort 50 Cohort 50
## 3: 8 -0.06174291 -0.6972731 0.6281354 Cohort 50 Cohort 50
## 4: 12 -0.07881787 -0.7059850 0.6176337 Cohort 50 Cohort 50
## 5: 16 -0.09468093 -0.7139121 0.6076496 Cohort 50 Cohort 50
## 6: 20 -0.10908826 -0.7209767 0.5983852 Cohort 50 Cohort 50
## time Correlation Group Group1 Group2
## <int> <num> <char> <char> <char>
## 1: 0 -0.02529882 Cohort 50 Cohort 50
## 2: 4 -0.04377854 Cohort 50 Cohort 50
## 3: 8 -0.06174291 Cohort 50 Cohort 50
## 4: 12 -0.07881787 Cohort 50 Cohort 50
## 5: 16 -0.09468093 Cohort 50 Cohort 50
## 6: 20 -0.10908826 Cohort 50 Cohort 50
From here, we are able to use the data.tables
themselves
for whatever we may be interested in. We also have a plotting method
associated with this object
Because this object is a data.table
, we have full use of
subsetting capabilities for our plots