bdotsThis vignette is created to illustrate the use of the
bcorr 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 bfit.
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 0.2180961
## 2: 1 4 50 0.01136364 Cohort 50 0.2180961
## 3: 1 8 50 0.01136364 Cohort 50 0.2180961
## 4: 1 12 50 0.01136364 Cohort 50 0.2180961
## 5: 1 16 50 0.02272727 Cohort 50 0.2180961
## 6: 1 20 50 0.02272727 Cohort 50 0.2180961
Now, we go about creating our fitted object as usual
## Create regular fit in bdots
fit <- bfit(data = dat,
subject = "Subject",
time = "Time",
group = c("LookType", "Group"),
y = "Fixations", curveFun = doubleGauss2(),
cores = 2)Using this fit object, we now introduce the bcor
function, taking four arguments:
bdObj, any object returned from a bfit
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 FALSEmethod, paralleling the method argument in
cor and cor.test. The default is
pearson.## Returns a data.table of class bdotsCorrObj
corr_ci <- bcorr(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.5457823 -0.8880252 0.1856206 Cohort 50 Cohort 50
## 2: 4 -0.5441413 -0.8875307 0.1878733 Cohort 50 Cohort 50
## 3: 8 -0.5386677 -0.8858755 0.1953324 Cohort 50 Cohort 50
## 4: 12 -0.5294659 -0.8830729 0.2076835 Cohort 50 Cohort 50
## 5: 16 -0.5168539 -0.8791902 0.2242386 Cohort 50 Cohort 50
## 6: 20 -0.5013196 -0.8743407 0.2440581 Cohort 50 Cohort 50
## time Correlation Group Group1 Group2
## <int> <num> <char> <char> <char>
## 1: 0 -0.5457823 Cohort 50 Cohort 50
## 2: 4 -0.5441413 Cohort 50 Cohort 50
## 3: 8 -0.5386677 Cohort 50 Cohort 50
## 4: 12 -0.5294659 Cohort 50 Cohort 50
## 5: 16 -0.5168539 Cohort 50 Cohort 50
## 6: 20 -0.5013196 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