Related
I have a function that I am using with lapply().
lapply(x, function(x))
The output looks like this:
[[1]]
[1] "att_admire"
[[2]]
[1] "att_hypocrisy"
[[3]]
[1] "att_annoyed"
[[4]]
[1] ""
[[5]]
[1] "att_respectvalues"
When I use sapply(), it looks like this:
att_admire att_hypocrisy att_annoyed att_judge
"att_admire" "att_hypocrisy" "att_annoyed" ""
att_respectvalues
"att_respectvalues"
I would like the output to look neater, like this. Only the variable names should be included, not the "" or indices.
att_admire, att_hypocrisy, att_annoyed, att_respectvalues
What can I do to modify the code I have? I looked at this question, but it focuses on how to get cleaner results in an output file, whereas I would prefer for the output to look cleaner in RStudio itself.
Below, I have included the function I am using and a sample of the data.
Libraries:
install.packages("lavaan")
library(lavaan)
Main command:
iv <- "consistent"
dv <- "behavior_solarize"
mediators <- c("att_admire", "att_hypocrisy", "att_annoyed", "att_judge", "att_respectvalues")
lapply(mediators, med_overall)
Function (using "lavaan" package):
med_overall <- function(mediator) {
mediation.model <-
paste("
# mediator
",mediator," ~ a * ",iv,"
",dv," ~ b * ",mediator,"
# direct effect
",dv," ~ c * ",iv,"
# indirect effect (a*b)
ab := a*b
# total effect
total := c + (a*b)")
fit <- sem(mediation.model, data = df, meanstructure = TRUE,
se = "boot", bootstrap = 500)
val <- parameterEstimates(fit)
ifelse(val[10,8] < 0.05, mediator, "")}
Sample data:
structure(list(behavior_solarize = c(5, 5, 5, 3, 3, 3, 5, 6,
7, 5, 6, 7, 4, 3, 6, 4, 5, 6, 2, 4, 4, 5, 5, 5, 6, 2, 6, 2, 2,
1, 5, 5, 5, 5, 1, 5, 1, 5, 1, 6, 4, 2, 6, 6, 7, 6, 5, 5, 6, 5,
1, 4, 1, 6, 7, 6, 6, 3, 4, 2, 6, 7, 6, 1, 1, 2, 2, 5, 5, 4, 6,
3, 2, 5, 6, 1, 6, 2, 2, 6, 5, 3, 2, 3, 5, 1, 2, 1, 5, 4, 4, 5,
4, 3, 6, 5, 5, 5, 1, 4, 5, 5, 4, 6, 6, 2, 7, 6, 5, 2, 5, 4, 1,
7, 2, 2, 5, 4, 6, 6, 1, 6, 1, 2, 5, 6, 6, 6, 2, 1, 2, 3, 6, 4,
5, 4, 6, 4, 4, 5, 6, 4, 5, 1, 2, 6, 2, 5, 5, 4, 2, 5, 2, 5, 5,
6, 5, 2, 1, 1, 4, 7, 5, 6, 2, 5, 3, 2, 3, 3, 6, 5, 5, 5, 2, 5,
5, 5, 2, 2, 1, 2, 6, 5, 4, 3, 4, 4, 5, 3, 5, 2, 6, 3, 7, 5, 2,
1, 3, 2, 2, 5, 4, 1, 5, 7, 2, 7, 1, 6, 3, 7, 5, 1, 5, 6, 2, 5,
2, 6, 7, 5, 5, 2, 7, 2, 6, 5, 6, 3, 2, 2, 3, 3, 3, 5, 2, 5, 4,
5, 1, 1, 6, 4, 3, 3, 6, 5, 5, 3, 6, 3, 6, 4, 1, 1, 4, 7, 2, 2,
3, 1, 2, 5, 6, 1, 3, 4, 4, 1, 5, 6, 4, 1, 2, 3, 5, 4, 4, 5, 5,
5, 4, 3, 5, 5, 7, 4, 6, 4, 6, 6, 5, 1, 5, 2, 2, 6, 1, 4, 6, 5,
6, 2, 2, 5, 4, 6, 2, 5, 5, 1, 6, 5, 3, 5, 2, 6, 6, 2, 6, 7, 5,
3, 6, 5, 5, 5, 4, 6, 4, 6, 6, 5, 4, 2, 6, 6, 6, 1, 3, 2, 6, 3,
3, 4, 3, 6, 6, 7, 5, 7, 6, 5, 1, 3, 6, 2, 6, 6, 2, 6, 3, 4, 6,
7, 4, 6, 4, 6, 6, 6, 1, 4, 4, 3, 2, 6, 7, 5, 3, 1, 6, 4, 5, 3,
4, 6, 5, 7, 3, 4, 2, 1, 6, 1, 4, 2, 2, 6, 4, 6, 3, 3, 2, 5, 6,
5, 1, 5, 7, 6, 4, 5, 2, 2, 4, 1, 4, 5, 1, 7, 2, 6, 4, 3, 6, 6,
4, 4, 4, 1, 6, 3, 6, 7, 5, 3, 4, 1, 3, 5, 6, 4, 5, 2, 6, 5, 5,
7, 5, 7, 7, 3, 5, 5, 5, 5, 4, 3, 5, 6, 3, 5, 7, 5, 5, 5, 4, 5,
2, 3, 6, 7, 7, 5, 4, 5, 5, 2, 1, 6, 2, 7, 5, 6, 6, 5, 2, 5, 2,
4, 5, 3, 3, 4, 3, 6, 7, 7, 2, 5, 5, 2, 5, 2, 3, 6, 5, 5, 6, 4,
5, 5, 3, 2, 7, 3, 5, 4, 1, 4, 3, 6, 4, 1, 6, 7, 2, 4, 2, 1, 6,
7, 5, 2, 4, 6, 3, 5, 5, 4, 7, 4, 5, 4, 6, 2, 1, 3, 2, 7, 2, 2,
2, 5, 5, 5, 2, 7, 5, 3, 5, 6, 7, 4, 6, 6, 5, 5, 6, 1, 1, 6, 1,
3, 2, 2, 3, 2, 5, 5, 6, 2, 4, 7, 6, 2, 2, 5, 3, 5, 4, 5, 7, 1,
3, 4, 7, 4, 5, 6, 4, 6, 5, 3, 3, 5, 2, 4, 6, 1, 2, 5, 1, 5, 6,
6, 5, 6, 5, 4, 1, 6, 4, 1, 6, 2, 7, 1, 2, 4, 4, 6, 1, 5, 4, 7,
3, 2, 2, 6, 5, 1, 6, 2, 3, 6, 5, 5, 2, 5, 2, 3, 6, 4, 5, 5, 4,
5, 1, 5, 6, 2, 6, 1, 1, 5, 2, 3, 7, 6, 6, 6, 4, 7, 5, 7, 6, 2,
4, 5, 4, 6, 5, 5, 5, 3, 5, 5, 2, 3, 6), consistent = c(1, 0,
1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0,
1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1,
0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1,
0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,
0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1,
0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1,
0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,
0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1,
0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1,
1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1,
1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1,
1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1,
1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1,
0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0,
0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0,
0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0), att_admire = c(4,
2, 6, 5, 4, 4, 6, 6, 4, 4, 5, 6, 4, 3, 6, 4, 3, 5, 3, 4, 4, 3,
4, 5, 6, 3, 4, 2, 3, 4, 6, 3, 4, 4, 1, 5, 1, 4, 1, 4, 1, 4, 6,
5, 4, 4, 4, 7, 2, 3, 4, 4, 7, 4, 4, 4, 5, 3, 3, 7, 4, 3, 4, 2,
4, 3, 4, 4, 6, 1, 1, 4, 4, 5, 4, 1, 6, 4, 4, 6, 6, 4, 1, 4, 5,
4, 1, 1, 5, 7, 3, 1, 7, 5, 7, 4, 4, 4, 1, 1, 4, 3, 2, 5, 3, 1,
6, 4, 3, 7, 4, 2, 1, 6, 3, 3, 1, 1, 5, 4, 1, 6, 1, 2, 4, 4, 5,
6, 4, 1, 4, 1, 4, 7, 5, 4, 5, 7, 5, 4, 5, 5, 4, 1, 3, 5, 3, 4,
6, 4, 4, 5, 1, 5, 6, 1, 7, 4, 1, 2, 5, 5, 4, 5, 4, 1, 4, 1, 1,
3, 4, 5, 4, 2, 1, 7, 3, 3, 1, 1, 2, 2, 5, 4, 4, 2, 3, 4, 6, 3,
6, 2, 5, 4, 7, 5, 1, 1, 2, 2, 3, 5, 4, 4, 4, 6, 1, 3, 1, 7, 3,
4, 4, 4, 3, 7, 1, 6, 1, 5, 1, 6, 4, 1, 7, 1, 4, 4, 5, 5, 3, 5,
4, 2, 5, 4, 1, 5, 5, 4, 1, 2, 7, 4, 2, 3, 4, 5, 6, 2, 7, 5, 4,
3, 2, 2, 1, 4, 1, 3, 4, 1, 3, 3, 3, 2, 4, 5, 3, 3, 6, 5, 4, 7,
6, 4, 4, 5, 4, 3, 4, 4, 4, 1, 1, 7, 7, 4, 6, 4, 6, 5, 4, 1, 4,
3, 5, 4, 3, 4, 4, 3, 4, 7, 4, 4, 4, 5, 1, 3, 3, 1, 4, 3, 1, 4,
3, 4, 5, 2, 4, 6, 7, 1, 7, 3, 3, 1, 4, 5, 3, 5, 6, 3, 4, 5, 5,
6, 5, 1, 3, 3, 5, 4, 4, 6, 1, 7, 5, 1, 4, 4, 5, 3, 1, 2, 6, 2,
4, 6, 6, 5, 4, 1, 5, 6, 4, 4, 4, 4, 7, 6, 1, 2, 4, 2, 1, 4, 7,
4, 4, 1, 6, 5, 5, 3, 4, 7, 5, 7, 5, 4, 3, 1, 4, 2, 4, 4, 1, 4,
1, 5, 3, 5, 4, 6, 4, 4, 4, 5, 6, 5, 4, 5, 1, 3, 4, 2, 1, 1, 3,
1, 3, 5, 4, 4, 2, 2, 1, 1, 3, 4, 3, 3, 5, 7, 3, 3, 3, 2, 3, 5,
4, 3, 5, 4, 6, 4, 3, 7, 3, 6, 7, 4, 4, 4, 4, 3, 5, 4, 4, 4, 2,
4, 6, 3, 6, 4, 4, 5, 6, 5, 5, 6, 7, 5, 4, 4, 2, 2, 1, 7, 2, 7,
2, 6, 7, 4, 2, 3, 5, 1, 4, 4, 3, 1, 2, 6, 6, 7, 1, 5, 6, 4, 6,
2, 4, 3, 5, 6, 4, 4, 4, 4, 4, 4, 7, 3, 2, 4, 6, 5, 3, 1, 4, 1,
4, 4, 3, 4, 1, 1, 5, 7, 4, 1, 1, 4, 3, 4, 4, 4, 7, 2, 5, 4, 5,
3, 1, 5, 2, 5, 1, 4, 4, 4, 3, 7, 4, 3, 4, 1, 4, 5, 2, 6, 5, 1,
5, 2, 5, 1, 1, 5, 1, 4, 3, 2, 4, 3, 5, 1, 5, 2, 4, 7, 7, 1, 2,
7, 3, 4, 5, 4, 5, 1, 1, 5, 2, 4, 4, 5, 4, 5, 2, 3, 2, 2, 5, 4,
5, 1, 2, 5, 1, 3, 7, 4, 3, 4, 5, 4, 3, 5, 4, 1, 4, 4, 6, 3, 1,
4, 4, 6, 1, 4, 4, 5, 4, 3, 2, 6, 4, 1, 4, 5, 2, 4, 4, 4, 3, 5,
3, 6, 5, 3, 5, 4, 4, 5, 1, 4, 3, 1, 4, 3, 6, 5, 3, 1, 6, 6, 4,
6, 1, 7, 5, 4, 4, 3, 4, 3, 3, 6, 3, 5, 5, 2, 2, 5, 3, 1, 6),
att_hypocrisy = c(4, 5, 7, 2, 5, 6, 3, 1, 1, 3, 3, 1, 4,
5, 6, 4, 3, 7, 6, 1, 4, 1, 1, 5, 1, 3, 2, 6, 7, 3, 1, 3,
7, 1, 7, 3, 7, 1, 7, 2, 3, 6, 1, 1, 1, 3, 5, 1, 7, 3, 7,
5, 7, 4, 1, 1, 2, 6, 6, 3, 1, 5, 1, 6, 4, 6, 2, 1, 1, 7,
1, 4, 3, 1, 2, 7, 1, 1, 1, 1, 1, 2, 6, 4, 1, 4, 7, 7, 2,
1, 1, 1, 1, 3, 5, 6, 3, 1, 1, 1, 2, 1, 7, 2, 2, 1, 1, 3,
5, 1, 1, 1, 1, 1, 4, 2, 2, 4, 1, 1, 6, 1, 4, 6, 1, 4, 1,
1, 4, 3, 5, 5, 1, 3, 5, 5, 1, 6, 1, 1, 4, 3, 5, 7, 2, 3,
4, 1, 1, 4, 4, 1, 1, 4, 1, 4, 4, 6, 7, 5, 2, 1, 4, 1, 6,
7, 5, 7, 7, 6, 2, 7, 1, 4, 1, 6, 2, 3, 1, 7, 7, 6, 2, 4,
2, 3, 1, 6, 1, 4, 1, 5, 1, 5, 1, 3, 7, 7, 6, 5, 6, 1, 7,
6, 3, 1, 6, 5, 6, 1, 6, 1, 4, 5, 1, 1, 2, 1, 7, 2, 5, 1,
4, 7, 1, 7, 6, 2, 1, 4, 5, 5, 1, 7, 3, 2, 7, 2, 1, 3, 1,
4, 1, 6, 2, 1, 2, 3, 1, 2, 1, 3, 3, 6, 6, 4, 7, 4, 5, 6,
6, 4, 5, 6, 1, 6, 2, 1, 4, 5, 1, 2, 3, 1, 1, 5, 2, 3, 2,
1, 2, 3, 7, 1, 1, 1, 1, 2, 1, 3, 2, 2, 4, 7, 5, 6, 2, 4,
5, 6, 2, 7, 1, 5, 4, 4, 1, 6, 1, 4, 4, 7, 3, 5, 7, 2, 7,
5, 1, 6, 2, 1, 1, 7, 1, 1, 6, 1, 5, 5, 4, 1, 1, 4, 4, 2,
5, 1, 2, 4, 4, 4, 6, 1, 2, 2, 7, 1, 1, 5, 1, 1, 3, 7, 7,
6, 1, 5, 6, 5, 2, 4, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 7, 1,
3, 3, 7, 1, 1, 1, 2, 1, 5, 4, 2, 5, 1, 1, 2, 1, 3, 1, 6,
1, 7, 3, 1, 6, 7, 1, 4, 4, 2, 3, 4, 3, 5, 1, 1, 1, 5, 1,
4, 5, 7, 3, 2, 7, 6, 7, 7, 1, 7, 1, 6, 4, 4, 2, 4, 3, 3,
5, 4, 1, 1, 1, 6, 6, 7, 7, 5, 1, 5, 2, 4, 4, 1, 4, 2, 2,
6, 1, 7, 5, 4, 5, 3, 6, 3, 3, 2, 3, 6, 7, 1, 6, 1, 1, 4,
1, 3, 3, 2, 1, 1, 1, 6, 6, 5, 6, 5, 5, 5, 1, 1, 1, 1, 3,
7, 1, 2, 7, 1, 5, 3, 7, 1, 1, 2, 1, 2, 4, 1, 6, 3, 6, 5,
1, 1, 4, 1, 2, 3, 4, 6, 4, 1, 6, 2, 4, 3, 2, 5, 2, 6, 1,
5, 1, 6, 3, 4, 2, 1, 1, 4, 6, 4, 4, 6, 1, 2, 5, 1, 7, 3,
4, 1, 5, 1, 4, 7, 1, 6, 6, 4, 5, 6, 1, 3, 7, 4, 7, 2, 1,
7, 1, 2, 1, 1, 3, 1, 7, 6, 1, 7, 4, 6, 6, 1, 2, 4, 6, 2,
7, 2, 1, 2, 5, 6, 1, 1, 5, 2, 5, 1, 1, 7, 1, 3, 1, 1, 1,
5, 1, 5, 2, 7, 6, 4, 1, 4, 7, 6, 6, 7, 6, 6, 2, 2, 6, 3,
5, 3, 1, 4, 4, 1, 2, 6, 7, 3, 5, 5, 1, 7, 2, 5, 7, 1, 6,
1, 2, 4, 5, 5, 6, 4, 3, 1, 4, 6, 3, 5, 3, 1, 2, 1, 3, 1,
2, 5, 3, 5, 7, 4, 6, 6, 2, 5, 6, 1, 6, 5, 5, 1, 1, 5, 3,
1, 7, 2, 4, 1, 7, 2, 5, 5, 4, 6, 2, 1, 6, 2), att_annoyed = c(5,
5, 4, 3, 3, 2, 3, 1, 1, 2, 3, 1, 4, 4, 4, 4, 3, 6, 5, 1,
4, 3, 1, 4, 1, 3, 2, 6, 3, 3, 3, 4, 5, 5, 7, 2, 4, 3, 2,
2, 3, 4, 1, 1, 1, 1, 4, 1, 5, 5, 4, 4, 7, 4, 5, 1, 2, 5,
3, 1, 1, 5, 2, 6, 2, 5, 5, 1, 1, 7, 1, 3, 4, 2, 1, 7, 1,
5, 1, 3, 2, 3, 5, 2, 1, 1, 1, 5, 5, 1, 1, 1, 1, 3, 1, 3,
1, 2, 5, 1, 1, 2, 5, 2, 4, 1, 1, 3, 4, 1, 1, 5, 1, 1, 2,
5, 2, 3, 2, 1, 6, 1, 1, 3, 1, 3, 1, 1, 5, 2, 3, 3, 1, 2,
3, 3, 1, 1, 4, 1, 2, 2, 1, 7, 7, 2, 6, 2, 1, 4, 4, 3, 1,
4, 2, 6, 2, 2, 7, 5, 2, 1, 4, 1, 6, 5, 5, 7, 6, 5, 2, 4,
1, 7, 7, 2, 2, 4, 5, 6, 6, 5, 2, 5, 2, 2, 1, 5, 2, 5, 2,
2, 1, 5, 1, 2, 7, 7, 6, 5, 6, 2, 4, 1, 2, 1, 5, 1, 7, 1,
4, 1, 4, 5, 1, 2, 3, 1, 6, 3, 1, 1, 2, 4, 1, 6, 1, 1, 1,
5, 5, 1, 3, 3, 3, 5, 6, 1, 1, 4, 1, 6, 1, 4, 1, 1, 2, 1,
1, 2, 1, 3, 2, 4, 6, 1, 4, 4, 4, 4, 5, 4, 5, 3, 2, 4, 3,
1, 1, 5, 1, 1, 3, 1, 1, 4, 3, 3, 2, 1, 2, 3, 7, 1, 1, 1,
1, 2, 1, 4, 1, 2, 4, 7, 3, 5, 2, 1, 5, 5, 2, 1, 1, 1, 6,
4, 5, 3, 3, 5, 5, 7, 2, 5, 6, 1, 6, 4, 1, 5, 2, 1, 1, 7,
1, 2, 4, 1, 3, 3, 5, 1, 1, 1, 1, 2, 2, 1, 2, 4, 7, 5, 7,
3, 3, 2, 7, 1, 1, 2, 1, 1, 6, 2, 7, 5, 1, 5, 1, 6, 2, 1,
2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 7, 1, 1, 5, 2, 1, 1, 1, 3,
7, 4, 3, 2, 5, 1, 1, 1, 1, 5, 1, 2, 1, 4, 1, 1, 3, 3, 1,
7, 4, 2, 4, 4, 4, 5, 5, 1, 1, 7, 2, 2, 3, 7, 3, 5, 6, 2,
7, 1, 1, 1, 1, 3, 4, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 2, 4,
6, 3, 3, 1, 2, 4, 2, 2, 1, 3, 3, 1, 4, 1, 1, 1, 5, 3, 3,
5, 2, 5, 2, 1, 6, 3, 1, 5, 1, 1, 4, 2, 1, 3, 2, 1, 1, 4,
3, 1, 5, 5, 4, 6, 5, 1, 1, 1, 1, 2, 7, 1, 4, 6, 3, 1, 2,
7, 2, 1, 1, 1, 2, 4, 2, 4, 5, 2, 3, 1, 1, 2, 1, 3, 1, 3,
1, 2, 1, 4, 2, 1, 3, 1, 6, 1, 2, 4, 1, 1, 5, 5, 4, 5, 1,
1, 2, 3, 1, 1, 6, 2, 2, 3, 1, 4, 2, 4, 2, 4, 2, 4, 4, 1,
1, 3, 2, 5, 4, 2, 1, 7, 4, 7, 3, 1, 7, 2, 2, 1, 1, 3, 1,
7, 4, 1, 5, 1, 5, 3, 3, 5, 3, 5, 2, 1, 5, 1, 1, 1, 2, 1,
1, 2, 3, 1, 3, 1, 6, 1, 1, 5, 1, 1, 1, 1, 5, 4, 6, 3, 2,
1, 2, 6, 6, 3, 4, 4, 6, 2, 5, 2, 1, 5, 7, 4, 1, 4, 1, 2,
3, 4, 6, 4, 4, 1, 7, 2, 1, 6, 1, 4, 1, 1, 3, 5, 1, 4, 5,
1, 1, 4, 2, 2, 4, 1, 1, 2, 1, 3, 1, 2, 7, 1, 2, 5, 2, 6,
6, 2, 5, 1, 1, 5, 3, 5, 1, 1, 5, 1, 1, 6, 1, 4, 1, 4, 6,
6, 5, 3, 5, 2, 2, 5, 6), att_judge = c(3, 5, 4, 4, 4, 1,
5, 3, 3, 3, 5, 1, 4, 3, 5, 4, 4, 6, 4, 2, 4, 5, 2, 4, 2,
5, 2, 4, 3, 4, 5, 7, 3, 7, 6, 3, 1, 3, 1, 4, 3, 2, 1, 4,
1, 1, 3, 7, 4, 2, 1, 1, 7, 1, 1, 4, 2, 4, 2, 1, 2, 1, 4,
4, 6, 2, 2, 1, 1, 1, 5, 2, 4, 5, 4, 6, 6, 6, 1, 3, 3, 4,
4, 4, 2, 4, 1, 1, 3, 2, 1, 2, 4, 4, 1, 3, 3, 5, 3, 1, 1,
2, 5, 5, 5, 5, 4, 5, 4, 4, 4, 1, 1, 3, 5, 6, 1, 1, 1, 4,
2, 1, 1, 3, 4, 4, 2, 4, 2, 5, 5, 1, 2, 4, 6, 2, 3, 1, 3,
1, 4, 2, 2, 1, 4, 3, 7, 4, 2, 4, 1, 2, 1, 4, 5, 4, 3, 2,
2, 4, 4, 1, 4, 2, 3, 2, 5, 6, 3, 1, 4, 2, 1, 5, 7, 3, 2,
5, 2, 1, 3, 2, 3, 4, 2, 4, 1, 4, 4, 4, 3, 2, 4, 1, 4, 3,
1, 1, 6, 3, 4, 3, 4, 2, 5, 4, 4, 1, 4, 4, 2, 3, 5, 3, 1,
4, 1, 2, 2, 4, 1, 4, 4, 7, 1, 1, 2, 3, 5, 6, 2, 1, 3, 2,
3, 3, 4, 3, 1, 4, 1, 4, 4, 2, 2, 2, 3, 2, 1, 4, 1, 4, 4,
3, 2, 1, 1, 4, 4, 1, 2, 4, 5, 2, 2, 1, 3, 1, 4, 4, 1, 2,
3, 1, 1, 2, 3, 5, 4, 2, 4, 4, 4, 1, 1, 1, 1, 2, 5, 5, 4,
4, 4, 7, 5, 2, 2, 3, 4, 3, 4, 1, 4, 1, 7, 4, 4, 1, 2, 5,
5, 1, 3, 2, 4, 1, 1, 1, 5, 4, 2, 1, 1, 1, 1, 1, 4, 1, 3,
3, 1, 1, 1, 1, 4, 4, 4, 4, 5, 4, 7, 2, 6, 5, 3, 2, 1, 2,
2, 3, 5, 2, 3, 2, 2, 2, 3, 5, 1, 6, 3, 2, 1, 3, 3, 1, 4,
1, 1, 5, 4, 3, 5, 1, 1, 3, 2, 2, 4, 4, 3, 1, 5, 1, 2, 3,
2, 1, 3, 1, 3, 4, 5, 1, 4, 6, 3, 4, 1, 1, 4, 5, 3, 3, 2,
4, 2, 2, 3, 4, 3, 5, 4, 3, 1, 3, 2, 2, 4, 2, 1, 1, 1, 4,
5, 4, 2, 2, 1, 4, 3, 1, 4, 3, 2, 1, 3, 3, 1, 3, 4, 1, 3,
3, 3, 4, 4, 5, 3, 4, 1, 5, 7, 1, 4, 2, 3, 3, 3, 2, 3, 5,
4, 1, 3, 2, 4, 1, 4, 4, 2, 3, 4, 4, 1, 5, 3, 3, 3, 2, 1,
6, 4, 7, 1, 2, 5, 1, 6, 1, 5, 4, 5, 2, 4, 1, 1, 5, 3, 4,
3, 4, 4, 4, 3, 2, 2, 2, 1, 2, 3, 3, 2, 4, 1, 4, 1, 4, 3,
1, 2, 4, 3, 5, 5, 2, 1, 4, 6, 4, 4, 3, 4, 1, 7, 1, 4, 2,
3, 6, 5, 4, 3, 2, 3, 3, 1, 1, 2, 2, 5, 6, 1, 7, 5, 5, 4,
5, 5, 1, 5, 6, 3, 1, 1, 1, 4, 3, 2, 4, 3, 3, 1, 5, 1, 4,
4, 3, 4, 3, 3, 2, 3, 2, 4, 7, 4, 4, 2, 5, 3, 4, 5, 2, 3,
1, 1, 1, 4, 5, 1, 5, 1, 6, 5, 4, 4, 1, 2, 4, 4, 4, 4, 5,
4, 2, 6, 3, 4, 2, 4, 2, 7, 2, 1, 4, 1, 6, 4, 3, 4, 4, 2,
1, 7, 5, 3, 5, 1, 1, 3, 3, 3, 4, 2, 1, 3, 1, 4, 4, 4, 4,
4, 3, 4, 3, 2, 5, 4, 5, 1, 1, 4, 4, 3, 1, 7, 4, 3, 1, 7,
6, 4, 5, 1, 4, 5, 7, 2, 4, 4, 5, 1, 5, 5, 7, 4, 4, 4, 5,
1, 1, 5), att_respectvalues = c(5, 4, 4, 3, 4, 5, 4, 5, 7,
4, 5, 7, 4, 4, 5, 4, 5, 6, 4, 5, 3, 4, 5, 4, 6, 4, 5, 4,
3, 4, 4, 3, 5, 4, 1, 5, 2, 4, 2, 5, 5, 2, 7, 5, 7, 5, 4,
7, 2, 3, 4, 6, 7, 6, 4, 4, 6, 5, 4, 7, 6, 6, 5, 3, 2, 5,
5, 5, 6, 4, 5, 4, 5, 6, 4, 4, 5, 4, 7, 6, 6, 4, 4, 5, 7,
5, 4, 2, 4, 7, 4, 6, 7, 4, 5, 3, 4, 5, 3, 6, 6, 4, 3, 5,
2, 5, 7, 6, 3, 7, 6, 4, 1, 4, 4, 3, 4, 4, 7, 5, 4, 6, 4,
4, 6, 4, 6, 2, 4, 5, 6, 4, 4, 5, 3, 6, 6, 6, 4, 6, 6, 5,
5, 4, 3, 5, 4, 4, 7, 4, 4, 5, 4, 3, 6, 4, 5, 6, 3, 4, 4,
5, 4, 5, 5, 4, 5, 1, 3, 2, 5, 5, 7, 3, 5, 7, 5, 4, 2, 4,
5, 3, 5, 4, 5, 4, 4, 4, 7, 4, 6, 4, 7, 4, 5, 6, 4, 7, 3,
3, 3, 6, 7, 5, 4, 7, 2, 7, 1, 4, 3, 6, 4, 4, 7, 7, 3, 6,
3, 6, 4, 5, 3, 3, 7, 3, 7, 4, 6, 3, 4, 6, 4, 4, 5, 5, 5,
6, 6, 5, 4, 4, 7, 4, 3, 4, 6, 6, 6, 5, 7, 4, 5, 5, 3, 4,
1, 4, 4, 3, 5, 4, 4, 6, 5, 4, 4, 4, 4, 4, 7, 5, 4, 7, 5,
4, 3, 4, 4, 5, 5, 7, 4, 7, 4, 4, 7, 5, 6, 3, 5, 5, 7, 7,
4, 4, 4, 6, 5, 3, 4, 3, 4, 6, 4, 4, 4, 6, 6, 5, 4, 7, 5,
6, 4, 4, 4, 6, 6, 3, 5, 5, 7, 1, 6, 6, 3, 4, 4, 4, 4, 7,
4, 4, 4, 5, 5, 5, 4, 4, 2, 4, 7, 5, 5, 6, 1, 6, 6, 7, 4,
7, 3, 5, 4, 3, 6, 4, 6, 6, 6, 6, 5, 3, 7, 4, 4, 5, 4, 5,
7, 5, 3, 7, 4, 5, 4, 6, 7, 7, 3, 4, 5, 6, 6, 3, 7, 7, 5,
7, 4, 7, 4, 4, 4, 4, 6, 4, 3, 4, 4, 5, 3, 5, 6, 4, 4, 4,
4, 4, 5, 5, 6, 5, 5, 4, 5, 5, 3, 4, 7, 7, 4, 6, 7, 4, 4,
4, 7, 3, 4, 4, 4, 4, 5, 7, 4, 4, 3, 6, 4, 6, 4, 5, 5, 4,
4, 6, 5, 7, 3, 6, 7, 4, 4, 4, 4, 2, 5, 4, 5, 4, 5, 5, 7,
5, 5, 4, 4, 5, 5, 5, 5, 7, 7, 4, 4, 6, 2, 3, 4, 6, 4, 4,
5, 6, 4, 6, 4, 6, 5, 2, 4, 6, 3, 1, 5, 6, 6, 7, 3, 5, 6,
5, 6, 5, 4, 5, 7, 4, 6, 5, 5, 5, 7, 3, 7, 4, 3, 2, 5, 4,
4, 4, 5, 1, 6, 7, 4, 5, 6, 2, 7, 7, 4, 3, 4, 5, 4, 2, 4,
5, 7, 5, 5, 5, 5, 4, 1, 3, 4, 7, 4, 4, 4, 4, 3, 7, 4, 4,
5, 1, 5, 7, 4, 6, 6, 4, 6, 4, 5, 4, 1, 7, 4, 7, 4, 4, 4,
4, 6, 2, 5, 5, 4, 7, 6, 4, 4, 5, 7, 4, 5, 5, 5, 7, 2, 4,
3, 3, 4, 5, 7, 6, 3, 4, 3, 1, 5, 4, 5, 3, 4, 5, 4, 4, 5,
5, 4, 5, 6, 6, 2, 5, 6, 4, 6, 2, 7, 4, 4, 4, 4, 6, 1, 5,
4, 7, 4, 5, 4, 7, 5, 4, 6, 5, 3, 4, 7, 3, 4, 5, 5, 6, 6,
5, 5, 3, 4, 4, 4, 2, 3, 4, 5, 4, 7, 5, 3, 5, 7, 6, 4, 7,
7, 7, 4, 7, 4, 4, 7, 5, 5, 6, 2, 6, 5, 4, 2, 4, 5, 4, 5)), row.names = c(NA,
-693L), class = c("tbl_df", "tbl", "data.frame"))
Store the results in an object. Then exclude empty strings (where do they actually come from?) convert toString and cat it.
res <- lapply(mediators, med_overall)
cat(toString(res[res != '']))
# att_admire, att_hypocrisy, att_annoyed, att_respectvalues
I have a dataframe that looks like the following.
consistent admire trust judge
3 3 2 4
5 1 3 6
2 4 5 1
I can run the regressions I need simultaneously using the following code. In the actual dataset, there are many more than 3 variables.
variables <- c("admire", "trust", "judge")
form <- paste("consistent ~ ",variables,"")
model <- form %>%
set_names(variables) %>%
map(~lm(as.formula(.x), data = df))
map(model, summary)
This yields the output for the 3 following regressions.
summary(lm(consistent ~ admire, df))
summary(lm(consistent ~ trust, df))
summary(lm(consistent ~ judge, df))
I would like a list of the variables with significant p-values at p < 0.05. For example, if "admire" was significant and "judge" was significant, the output I am looking for would be something like:
admire, judge
Is there a way to do this that allows me to also run several regressions simultaneously? This question offers a similar answer, but I don't know how to apply it when I have several regressions.
Data:
structure(list(consistent = c(1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0,
1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0,
1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1,
0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1,
1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1,
1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0,
1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1,
1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1,
0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0,
0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0,
1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0,
1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0,
0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0,
0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0,
0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1,
1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0,
1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0,
1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1,
0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,
1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0), admire = c(7,
3, 1, 1, 3, 5, 5, 6, 7, 1, 4, 2, 5, 3, 3, 1, 3, 1, 2, 1, 5, 5,
3, 1, 5, 3, 5, 4, 5, 1, 6, 1, 6, 2, 1, 4, 1, 1, 3, 2, 1, 5, 1,
7, 1, 4, 1, 4, 2, 2, 4, 2, 4, 1, 5, 5, 1, 2, 6, 6, 1, 1, 3, 5,
5, 1, 5, 7, 2, 4, 5, 1, 4, 4, 3, 5, 6, 1, 5, 2, 1, 5, 6, 2, 3,
3, 5, 6, 1, 4, 4, 6, 4, 4, 4, 6, 5, 4, 1, 2, 5, 4, 2, 4, 6, 1,
3, 7, 4, 4, 3, 2, 7, 5, 3, 2, 1, 2, 2, 5, 7, 3, 5, 4, 6, 2, 2,
4, 4, 5, 5, 1, 5, 6, 1, 2, 4, 7, 1, 4, 5, 4, 2, 4, 1, 4, 3, 4,
7, 5, 6, 3, 1, 1, 7, 1, 6, 4, 1, 1, 2, 1, 1, 6, 3, 1, 4, 4, 7,
2, 1, 5, 3, 3, 7, 4, 5, 1, 3, 7, 5, 4, 1, 1, 1, 5, 2, 1, 1, 4,
1, 5, 4, 5, 1, 4, 4, 4, 7, 1, 1, 2, 5, 2, 4, 2, 4, 6, 4, 2, 6,
5, 6, 7, 4, 4, 5, 1, 5, 7, 1, 7, 2, 7, 3, 6, 2, 5, 7, 3, 5, 4,
1, 4, 1, 5, 1, 1, 6, 6, 7, 3, 4, 1, 6, 4, 1, 6, 7, 5, 4, 2, 6,
5, 5, 4, 1, 2, 6, 1, 5, 3, 1, 1, 1, 7, 7, 3, 5, 1, 5, 1, 7, 2,
5, 4, 2, 1, 4, 1, 1, 5, 5, 4, 5, 2, 4, 5, 5, 1, 4, 4, 1, 3, 4,
2, 7, 6, 6, 4, 3, 6, 1, 6, 1, 1, 4, 7, 7, 1, 3, 1, 4, 2, 2, 6,
1, 2, 1, 1, 1, 4, 2, 5, 4, 1, 4, 2, 5, 5, 2, 1, 6, 1, 2, 3, 4,
1, 7, 2, 2, 4, 5, 1, 6, 2, 5, 1, 5, 6, 2, 5, 1, 1, 7, 4, 5, 6,
1, 4, 5, 2, 4, 4, 6, 4, 4, 2, 6, 1, 1, 2, 6, 1, 3, 5, 5, 3, 7,
5, 6, 4, 3, 4, 7, 5, 4, 2, 1, 5, 7, 2, 6, 3, 1, 2, 4, 3, 5, 4,
1, 6, 1, 3, 1, 1, 1, 4, 3, 3, 1, 1, 1, 6, 4, 1, 1, 1, 1, 4, 1,
6, 4, 4, 4, 4, 1, 5, 2, 4, 5, 4, 4, 3, 3, 6, 7, 3, 2, 4, 2, 5,
1, 4, 5, 4, 1, 2, 4, 1), trust = c(7, 4, 2, 2, 3, 4, 6, 6, 7,
1, 4, 5, 5, 4, 1, 1, 2, 2, 1, 1, 6, 6, 4, 1, 3, 6, 5, 4, 6, 1,
5, 1, 6, 1, 2, 5, 1, 1, 4, 1, 1, 5, 1, 7, 1, 4, 4, 5, 3, 4, 5,
3, 5, 2, 6, 5, 3, 2, 6, 6, 1, 1, 3, 5, 5, 1, 5, 7, 2, 4, 6, 1,
4, 4, 4, 6, 6, 3, 5, 6, 1, 6, 5, 2, 2, 2, 5, 7, 1, 5, 3, 7, 3,
5, 4, 6, 6, 5, 2, 1, 6, 5, 2, 6, 5, 1, 2, 7, 6, 5, 3, 3, 4, 7,
4, 2, 1, 3, 4, 7, 6, 2, 6, 5, 7, 3, 2, 4, 5, 5, 5, 1, 2, 7, 1,
1, 5, 4, 1, 4, 6, 6, 2, 4, 2, 4, 1, 5, 7, 6, 7, 3, 2, 1, 7, 1,
4, 4, 1, 2, 4, 1, 1, 6, 3, 1, 4, 3, 7, 2, 2, 6, 4, 5, 7, 5, 7,
2, 4, 7, 4, 3, 1, 1, 1, 5, 2, 4, 1, 4, 1, 5, 4, 5, 1, 6, 5, 4,
6, 1, 1, 2, 6, 2, 4, 4, 4, 5, 6, 1, 5, 5, 5, 6, 4, 4, 5, 5, 6,
7, 1, 7, 3, 7, 5, 6, 3, 5, 7, 4, 5, 4, 2, 3, 1, 4, 5, 1, 5, 4,
7, 3, 5, 1, 6, 6, 1, 4, 6, 5, 4, 3, 7, 6, 5, 4, 1, 1, 6, 1, 5,
3, 1, 1, 1, 7, 7, 3, 4, 1, 4, 1, 7, 2, 4, 2, 2, 2, 4, 1, 1, 5,
4, 6, 5, 2, 4, 5, 4, 1, 6, 4, 1, 4, 4, 3, 7, 5, 6, 4, 4, 6, 2,
6, 1, 2, 4, 7, 7, 1, 1, 1, 4, 2, 2, 6, 2, 4, 1, 2, 1, 6, 2, 6,
4, 1, 6, 3, 5, 4, 3, 1, 6, 1, 2, 3, 5, 1, 6, 1, 3, 4, 5, 2, 6,
2, 5, 1, 3, 7, 1, 4, 1, 1, 7, 5, 6, 5, 1, 5, 5, 1, 4, 3, 7, 4,
4, 1, 7, 1, 1, 4, 6, 1, 4, 5, 5, 4, 7, 6, 7, 4, 4, 4, 4, 4, 4,
1, 1, 5, 6, 2, 7, 4, 2, 4, 5, 4, 5, 4, 1, 5, 1, 2, 1, 1, 4, 4,
3, 4, 3, 1, 2, 6, 5, 1, 1, 1, 2, 4, 1, 7, 4, 4, 5, 6, 2, 5, 3,
4, 5, 4, 4, 3, 3, 6, 7, 4, 4, 3, 2, 5, 1, 5, 5, 5, 2, 2, 3, 1
), judge = c(1, 5, 6, 3, 6, 3, 4, 5, 4, 1, 3, 2, 3, 2, 4, 3,
4, 2, 5, 4, 3, 3, 4, 4, 7, 5, 4, 4, 1, 3, 6, 2, 3, 2, 5, 2, 3,
4, 2, 4, 4, 3, 4, 4, 1, 4, 1, 2, 3, 1, 2, 2, 3, 5, 3, 5, 5, 3,
1, 4, 4, 2, 5, 4, 3, 1, 5, 4, 4, 5, 2, 2, 2, 7, 3, 3, 1, 1, 5,
3, 3, 1, 2, 5, 2, 3, 5, 4, 3, 4, 3, 2, 1, 3, 4, 4, 5, 5, 3, 2,
2, 3, 2, 4, 1, 1, 4, 2, 2, 3, 3, 2, 4, 4, 6, 1, 7, 4, 2, 3, 4,
1, 2, 4, 4, 5, 2, 1, 3, 2, 2, 1, 1, 7, 2, 3, 5, 5, 1, 2, 2, 5,
6, 5, 1, 1, 1, 4, 1, 5, 4, 3, 6, 1, 4, 1, 3, 4, 6, 1, 2, 4, 3,
3, 4, 7, 1, 3, 1, 2, 2, 3, 2, 3, 5, 3, 4, 2, 6, 3, 1, 1, 1, 1,
4, 2, 2, 4, 4, 5, 4, 2, 1, 6, 7, 5, 2, 2, 4, 5, 6, 1, 5, 2, 4,
5, 5, 2, 2, 3, 4, 5, 2, 2, 4, 1, 3, 4, 4, 4, 2, 3, 1, 4, 4, 3,
2, 3, 1, 4, 2, 4, 4, 1, 5, 4, 4, 4, 4, 6, 1, 3, 5, 7, 2, 6, 1,
5, 7, 5, 4, 2, 3, 6, 3, 1, 1, 2, 2, 5, 5, 2, 5, 4, 4, 5, 4, 4,
3, 7, 4, 4, 4, 2, 5, 3, 6, 5, 4, 4, 4, 6, 4, 5, 5, 1, 5, 2, 6,
4, 4, 1, 1, 4, 6, 1, 7, 1, 5, 2, 5, 4, 2, 3, 2, 6, 3, 2, 2, 1,
1, 5, 4, 1, 1, 4, 1, 5, 1, 4, 3, 2, 3, 4, 1, 6, 1, 2, 1, 3, 5,
5, 2, 1, 3, 4, 2, 4, 5, 4, 6, 3, 4, 6, 7, 6, 2, 4, 6, 2, 4, 5,
1, 4, 1, 3, 2, 4, 1, 6, 4, 3, 1, 3, 4, 5, 1, 6, 1, 5, 1, 3, 3,
1, 3, 4, 2, 4, 1, 1, 2, 2, 2, 3, 1, 6, 5, 4, 1, 7, 5, 6, 5, 2,
3, 5, 4, 3, 4, 5, 7, 1, 5, 2, 5, 1, 3, 4, 3, 5, 1, 4, 2, 3, 4,
1, 7, 5, 5, 2, 1, 2, 5, 6, 5, 5, 3, 1, 3, 1, 4, 1, 5, 2, 3, 5,
6, 4, 4, 3, 2, 4, 1, 3, 4, 3, 4, 4, 1, 5)), row.names = c(NA,
-450L), class = c("tbl_df", "tbl", "data.frame"))
To fit many many simple linear regression models, I recommend Fast pairwise simple linear regression between variables in a data frame. Hmm... looks like I need to collect those functions in an R package...
## suppose your data frame is `df`
## response variable (LHS) in column 1
## independent variable (RHS) in other columns
out <- general_paired_simpleLM(df[1], df[-1])
# LHS RHS alpha beta beta.se beta.tv beta.pv
#1 consistent admire -0.1458455 0.18754326 0.008324192 22.529906 1.040756e-75
#2 consistent trust -0.2211250 0.19565589 0.007721387 25.339475 1.531499e-88
#3 consistent judge 0.3484851 0.04824981 0.014182420 3.402086 7.287372e-04
# sig R2 F.fv F.pv
#1 0.3430602 0.53118295 507.59665 1.040756e-75
#2 0.3212008 0.58902439 642.08902 1.531499e-88
#3 0.4946862 0.02518459 11.57419 7.287372e-04
To get what you want:
with(out, RHS[beta.pv < 0.05])
#[1] "admire" "trust" "judge"
I have WVS 6th wave dataframe. Computed the outgroup trust index (outgroup_index) and I want to divide this vector into 3 groups according to tertiles.
I use base R functions to do that:
# Recoding will be based on tertiles
# Find the tretiles of the index
tertiles <- quantile(filtered_df$outgroup_index, c(0:3) / 3)
# cut the target variable into tertiles
filtered_df$index_recoded <- with(
filtered_df,
cut(outgroup_index,
tertiles,
include.lowest = T)
)
But I am wondering about other possible and more neat ways to do it (preferably using dplyr/tidyverse or any other packages)?
Data:
structure(list(V2 = structure(c(643, 643, 643, 643, 643, 643,
643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
643, 643, 643, 643), label = "Country/region", format.spss = "F4.0", labels = c(`Not asked in survey` = -4,
Algeria = 12, Azerbaijan = 31, Argentina = 32, Australia = 36,
Armenia = 51, Brazil = 76, Belarus = 112, Chile = 152, China = 156,
`Taiwan ROC` = 158, Colombia = 170, Cyprus = 196, Ecuador = 218,
Estonia = 233, Georgia = 268, Palestine = 275, Germany = 276,
Ghana = 288, Haiti = 332, `Hong Kong SAR` = 344, India = 356,
Iraq = 368, Japan = 392, Kazakhstan = 398, Jordan = 400, `South Korea` = 410,
Kuwait = 414, Kyrgyzstan = 417, Lebanon = 422, Libya = 434, Malaysia = 458,
Mexico = 484, Morocco = 504, Netherlands = 528, `New Zealand` = 554,
Nigeria = 566, Pakistan = 586, Peru = 604, Philippines = 608,
Poland = 616, Qatar = 634, Romania = 642, Russia = 643, Rwanda = 646,
Singapore = 702, Slovenia = 705, `South Africa` = 710, Zimbabwe = 716,
Spain = 724, Sweden = 752, Thailand = 764, `Trinidad and Tobago` = 780,
Tunisia = 788, Turkey = 792, Ukraine = 804, Egypt = 818, `United States` = 840,
Uruguay = 858, Uzbekistan = 860, Yemen = 887), class = c("haven_labelled",
"vctrs_vctr", "double")), V105 = structure(c(4, 3, 3, 4, 3, 4,
4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 2, 2, 2, 1, 1,
2, 4, 2, 2, 2, 1, 2, 1, 4, 2, 1, 4, 2, 3, 3, 2, 3, 2, 3, 2, 3,
2, 2, 3, 3, 3, 3, 3, 3, NA, 3, 3, 4, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 3, NA), label = "Trust: People you meet for the first time (B)", format.spss = "F3.0", labels = c(`SE:Inapplicable ; RU:Inappropriate response; HT: Dropped out` = -5,
`Not asked` = -4, `Not applicable` = -3, `No answer` = -2, `Don<U+00B4>t know` = -1,
`Trust completely` = 1, `Trust somewhat` = 2, `Do not trust very much` = 3,
`Do not trust at all` = 4), class = c("haven_labelled", "vctrs_vctr",
"double")), V106 = structure(c(3, 2, NA, 4, 2, 4, 4, 3, 3, 4,
3, 3, 4, 4, 4, 4, NA, NA, NA, NA, 3, 2, 2, 2, 2, 2, 2, 3, 3,
3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 2, 2, 2, 1, 1, 2, 2,
2, 2, 1, 1, 2, 1, 4, 2, 1, 4, 2, 3, 3, 2, 2, 2, 3, 2, 3, 2, 2,
NA, 3, NA, 3, 3, 3, 2, 3, 3, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 2, 2, 2, 3, 2, 2, 2, 3), label = "Trust: People of another religion (B)", format.spss = "F3.0", labels = c(`DE,SE:Inapplicable ; RU:Inappropriate response; HT: Dropped` = -5,
`Not asked` = -4, `Not applicable` = -3, `No answer` = -2, `Don<U+00B4>t know` = -1,
`Trust completely` = 1, `Trust somewhat` = 2, `Do not trust very much` = 3,
`Do not trust at all` = 4), class = c("haven_labelled", "vctrs_vctr",
"double")), V107 = structure(c(3, 4, NA, 4, 2, 4, 4, 3, 3, 4,
3, 3, 4, 4, 4, 4, 3, 2, NA, NA, 3, 2, 2, 2, 2, 2, 2, 3, 3, 3,
3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2,
2, 1, 1, 2, 1, 4, 2, 1, 3, 2, 3, 2, 2, 2, 2, 3, 2, 3, 2, 2, NA,
3, 2, 3, 3, 3, 2, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 3, 2, 3, 2, 2, 2, 3), label = "Trust: People of another nationality (B)", format.spss = "F3.0", labels = c(`DE,SE:Inapplicable ; RU:Inappropriate response; HT: Dropped` = -5,
`Not asked` = -4, `Not applicable` = -3, `No answer` = -2, `Don<U+00B4>t know` = -1,
`Trust completely` = 1, `Trust somewhat` = 2, `Do not trust very much` = 3,
`Do not trust at all` = 4), class = c("haven_labelled", "vctrs_vctr",
"double")), V248 = structure(c(9, 8, 5, 8, 8, 8, 8, 9, 7, 9,
9, 5, 5, 6, 5, 5, 5, 5, 5, 4, 9, 9, 4, 9, 9, 3, 6, 9, 8, 9, 9,
9, NA, 9, 5, 9, 5, 7, 9, 5, 5, 9, 9, 8, 9, 9, 5, 5, 5, 9, 9,
8, 5, 8, 9, 9, 5, 8, 9, 9, 9, 7, 7, 5, 4, 6, 9, 6, 6, 9, 9, 5,
6, 7, 5, 4, 7, 7, 5, 5, 5, 5, 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 5,
9, 9, 5, 9, 8, 9, 5, 5), label = "Highest educational level attained", format.spss = "F3.0", labels = c(`AU: Inapplicable (No-school education) DE,SE:Inapplicable ;` = -5,
`Not asked` = -4, `Not applicable` = -3, `No answer` = -2, `Don<U+00B4>t know` = -1,
`No formal education` = 1, `Incomplete primary school` = 2, `Complete primary school` = 3,
`Incomplete secondary school: technical/ vocational type` = 4,
`Complete secondary school: technical/ vocational type` = 5,
`Incomplete secondary school: university-preparatory type` = 6,
`Complete secondary school: university-preparatory type` = 7,
`Some university-level education, without degree` = 8, `University - level education, with degree` = 9
), class = c("haven_labelled", "vctrs_vctr", "double")), V59 = structure(c(9,
5, 6, 8, 6, 7, NA, 8, 5, 3, 4, 7, 2, 1, 1, 6, 8, 6, NA, NA, 1,
5, NA, 6, 1, 2, 9, 5, 6, NA, NA, 3, 6, 6, 4, NA, 6, 6, NA, NA,
3, 9, 8, 10, 9, 6, 10, 9, 8, 9, 9, 10, 6, 4, 4, 6, 4, 10, 3,
3, 4, 3, 5, 4, 7, 3, 3, 4, 3, 7, 4, 6, 4, 1, 1, 6, 1, 1, 6, 1,
1, 4, 4, 3, 4, 4, 4, 3, 4, 4, 4, 2, 7, 3, 1, 5, 6, 7, 2, 4, 5
), label = "Satisfaction with financial situation of household", format.spss = "F3.0", labels = c(`HT: Dropped out survey;DE,SE:Inapplicable ; RU:Inappropriate` = -5,
`Not asked` = -4, `No answer` = -2, `Don<U+00B4>t know` = -1,
Dissatisfied = 1, `2` = 2, `3` = 3, `4` = 4, `5` = 5, `6` = 6,
`7` = 7, `8` = 8, `9` = 9, Satisfied = 10), class = c("haven_labelled",
"vctrs_vctr", "double")), V237 = structure(c(3, 2, 2, 2, NA,
1, 2, 2, 1, 2, 2, 2, 2, 3, 2, 1, 1, 3, 2, 2, NA, 2, 2, 3, 4,
2, 2, 1, NA, 1, 1, 1, NA, NA, NA, 1, NA, 1, 1, NA, 2, 1, 2, 1,
1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3,
2, 3, 2, 1, 2, 3, 2, 2, 2, NA, 2, 2, 4, 2, 2, 2, 1, 1, 2, 1,
2, 3, 2, 2, 1, 2, 2, 2, 3, 3, 2, 3, 2, 2, NA, 3), label = "Family savings during past year", format.spss = "F3.0", labels = c(`DE,SE:Inapplicable ; RU:Inappropriate response; BH: Missing;` = -5,
`Not asked` = -4, `Not applicable` = -3, `No answer` = -2, `Don<U+00B4>t know` = -1,
`Save money` = 1, `Just get by` = 2, `Spent some savings and borrowed money` = 3,
`Spent savings and borrowed money` = 4), class = c("haven_labelled",
"vctrs_vctr", "double")), V105_rec = c(1, 2, 2, 1, 2, 1, 1, 1,
1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 3, 3, 3, 4, 4, 3, 1,
3, 3, 3, 4, 3, 4, 1, 3, 4, 1, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 3,
2, 2, 2, 2, 2, 2, NA, 2, 2, 1, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 3, 3, 2, 2, 2, 3, 2, NA), V106_rec = c(2, 3, NA, 1, 3,
1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, NA, NA, NA, NA, 2, 3, 3, 3,
3, 3, 3, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 3,
3, 4, 4, 3, 3, 3, 3, 4, 4, 3, 4, 1, 3, 4, 1, 3, 2, 2, 3, 3, 3,
2, 3, 2, 3, 3, NA, 2, NA, 2, 2, 2, 3, 2, 2, 1, 3, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 2, 3, 3, 3, 2), V107_rec = c(2,
1, NA, 1, 3, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 3, NA, NA, 2,
3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 4,
3, 3, 3, 3, 4, 4, 3, 4, 3, 3, 4, 4, 3, 4, 1, 3, 4, 2, 3, 2, 3,
3, 3, 3, 2, 3, 2, 3, 3, NA, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 3, 2, 3, 3, 3, 2), outgroup_index = c(1.66666666666667,
2, 2, 1, 2.66666666666667, 1, 1, 1.66666666666667, 1.66666666666667,
1, 1.66666666666667, 2, 1, 1, 1, 1, 1.5, 2.5, 2, 2, 2, 3, 3,
3, 3, 3, 2.66666666666667, 2, 2, 2, 2, 1.33333333333333, 1.33333333333333,
2, 2, 2, 2, 2, 2, 2, 2, 2.66666666666667, 2, 3, 3, 3, 4, 4, 3,
2.66666666666667, 3, 3, 3.66666666666667, 4, 3, 4, 1, 3, 4, 1.33333333333333,
3, 2, 2.33333333333333, 3, 2.66666666666667, 3, 2, 3, 2, 3, 3,
2, 2, 2.5, 2, 2, 2, 3, 2, 2, 1.33333333333333, 3, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 3, 2.66666666666667, 2.66666666666667, 2,
2.66666666666667, 3, 2.66666666666667, 2), V59_rec = structure(c(5,
3, 3, 4, 3, 4, NA, 4, 3, 2, 2, 4, 1, 1, 1, 3, 4, 3, NA, NA, 1,
3, NA, 3, 1, 1, 5, 3, 3, NA, NA, 2, 3, 3, 2, NA, 3, 3, NA, NA,
2, 5, 4, 5, 5, 3, 5, 5, 4, 5, 5, 5, 3, 2, 2, 3, 2, 5, 2, 2, 2,
2, 3, 2, 4, 2, 2, 2, 2, 4, 2, 3, 2, 1, 1, 3, 1, 1, 3, 1, 1, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 4, 2, 1, 3, 3, 4, 1, 2, 3), labels = c(`Not satisfied at all` = 1,
`Rather not satisfied` = 2, `Neither satisfied, nor not satisfied` = 3,
`Rather satisfied` = 4, Satisfied = 5), class = c("haven_labelled",
"vctrs_vctr", "double")), V248_dummy = structure(c(1, 1, 0, 1,
1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1,
0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1,
0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1,
0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0), labels = c(`A university education and higher` = 1,
`No university education` = 0), class = c("haven_labelled", "vctrs_vctr",
"double")), V237_rec = structure(c(3, 2, 2, 2, NA, 1, 2, 2, 1,
2, 2, 2, 2, 3, 2, 1, 1, 3, 2, 2, NA, 2, 2, 3, 3, 2, 2, 1, NA,
1, 1, 1, NA, NA, NA, 1, NA, 1, 1, NA, 2, 1, 2, 1, 1, 1, 1, 1,
1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 2, 3, 2, 1,
2, 3, 2, 2, 2, NA, 2, 2, 3, 2, 2, 2, 1, 1, 2, 1, 2, 3, 2, 2,
1, 2, 2, 2, 3, 3, 2, 3, 2, 2, NA, 3), labels = c(`Save money` = 1,
`Just get by` = 2, `Spent savings and borrowed money` = 3), class = c("haven_labelled",
"vctrs_vctr", "double"))), row.names = c(NA, -101L), class = c("tbl_df",
"tbl", "data.frame"), label = "filelabel")
A bit unintuitive, but ggplot2 has the functionality you are looking for.
filtered_df %>%
mutate(index_recoded = ggplot2::cut_interval(outgroup_index, 3))
And to verify the levels are the same:
# smaller dput would be nice
start <- Data
all(
{
filtered_df <- start
tertiles <- quantile(filtered_df$outgroup_index, c(0:3) / 3)
filtered_df$index_recoded <- with(
filtered_df,
cut(outgroup_index,
tertiles,
include.lowest = T)
)
filtered_df$index_recoded
} == {
tv_df <- start
tv_df %>%
mutate(index_recoded = ggplot2::cut_interval(outgroup_index, 3)) %>%
pull(index_recoded)
}
)
[1] TRUE
cut has a simpler syntax if you want to divide the data into fixed intervals.
filtered_df$index_recoded <- cut(filtered_df$outgroup_index, 3)
You can also use it with labels = FALSE to get 1, 2 and 3 as output.
filtered_df$index_recoded <- cut(filtered_df$outgroup_index, 3, labels = FALSE)
I want to bootstrap my dataset for multiple regression. Unfortunately I get this error message:
"number of items to replace is not a multiple of replacement length"
I suspect that the factors in my regression formula may be problematic.
What could I do to solve my problem?
My code is as following (I read Andy FieldĀ“s Discovering Statistics using R):
BootReg <- function(data, indices, formula) {
d <- data[indices,]
fit <- lm(formula, data=d)
return(coef(fit))
}
bootResults <-boot(statistic = BootReg, formula = TICS_Skala1 ~HSPhoch + HSPhoch*extra.c
+ psy + sex + age.c, data = mod.reg.data, R = 2000)
psy (psychiatric disease), sex and HSPhoch (high sensory-processing sensitivity) are factors. TICS_Skala1, extra.c, age.c are continuos variables.
my sample data:
> dput(head(mod.reg.data, 20))
structure(list(neo_01 = c(3, 4, 3, 0, 4, 4, 3, 2, 3, 1, 4, 2,
3, 3, 1, 2, 3, 4, 0, 2), neo_03 = c(1, 1, 1, 3, 1, 2, 0, 0, 0,
0, 0, 0, 1, 3, 1, 1, 1, 1, 3, 1), neo_04 = c(2, 4, 3, 0, 4, 3,
4, 3, 2, 3, 3, 3, 3, 4, 2, 4, 3, 4, 3, 3), neo_08 = c(3, 0, 1,
2, 3, 3, 4, 3, 2, 1, 2, 4, 0, 3, 1, 1, 3, 1, 3, 1), neo_12 = c(3,
1, 1, 2, 2, 2, 4, 1, 1, 2, 1, 4, 1, 3, 1, 1, 3, 2, 3, 2), neo_13 = c(3,
2, 2, 4, 3, 3, 3, 2, 2, 1, 2, 3, 0, 3, 1, 0, 2, 3, 0, 2), neo_16 = c(3,
1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 0, 0, 2, 1), neo_17 = c(2,
1, 3, 0, 1, 1, 1, 4, 3, 1, 2, 2, 2, 3, 1, 0, 2, 0, 2, 2), neo_18 = c(2,
3, 4, 0, 4, 3, 4, 3, 3, 1, 3, 2, 4, 2, 3, 4, 3, 4, 2, 2), neo_21 = c(3,
0, 1, 2, 1, 2, 1, 1, 1, 1, 1, 3, 0, 4, 1, 0, 0, 0, 4, 1), neo_26 = c(3,
0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 2, 3, 3, 0, 0, 1, 1, 4, 1), neo_27 = c(3,
3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 4, 3, 3, 3, 3, 2, 2), TICS_1 = c(3,
0, 3, 2, 2, 1, 3, 3, 1, 2, 0, 4, 2, 3, 2, 3, 4, 1, 3, 2), TICS_2 = c(3,
1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 1, 1, 1, 2, 1, 2, 1), TICS_3 = c(2,
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 3, 1, 2, 0, 1, 1, 0, 1, 0), TICS_4 = c(2,
0, 2, 0, 1, 2, 1, 3, 0, 0, 0, 4, 1, 2, 1, 2, 1, 1, 2, 2), TICS_5 = c(2,
3, 2, 1, 2, 2, 2, 2, 0, 2, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1), TICS_6 = c(3,
2, 2, 4, 2, 2, 1, 3, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2), TICS_7 = c(3,
3, 2, 2, 2, 2, 0, 3, 1, 2, 1, 4, 2, 0, 2, 1, 4, 1, 0, 1), TICS_8 =c(NA,
NA, NA, NA, NA, NA, NA, NA, 1, 1, 0, 4, 3, 1, 1, 3, 3, 2, 1,
2), TICS_9 = c(NA, NA, NA, NA, NA, NA, NA, NA, 0, 3, 2, 2, 1,
3, 0, 1, 3, 1, 1, 2), TICS_10 = c(2, 2, 0, 0, 2, 3, 0, 2, 1,
1, 2, 2, 1, 0, 0, 1, 1, 2, 2, 1), TICS_11 = c(1, 2, 1, 0, 1,
1, 0, 0, 0, 0, 2, 4, 1, 0, 0, 0, 0, 1, 1, 0), TICS_12 = c(2,
2, 1, 0, 1, 1, 1, 3, 1, 1, 1, 4, 2, 2, 2, 3, 3, 1, 2, 3), TICS_13=
c(1, 1, 3, 0, 2, 3, 2, 1, 1, 2, 1, 2, 2, 3, 2, 2, 1, 2, 2, 2),
TICS_14= c(4, 1, 1, 0, 1, 1, 3, 4, 0, 2, 0, 4, 2, 3, 0, 1, 3, 1, 1,
1), TICS_15= c(3, 1, 1, 3, 0, 2, 0, 2, 0, 2, 1, 2, 0, 1, 1, 1, 0, 0,
0, 1), ICS_16= c(4, 2, 1, 3, 3, 2, 1, 2, 1, 1, 1, 3, 1, 3, 1, 2, 3,
1, 2, 1), TICS_17= c(3, 0, 2, 2, 1, 2, 2, 3, 0, 1, 1, 2, 1, 2, 2, 3,
1, 1, 1, 2), TICS_18= c(3, 0, 1, 2, 0, 1, 1, 0, 0, 1, 0, 4, 2, 2, 0,
0, 1, 0, 2, 0), TICS_19= c(4, 2, 2, 2, 2, 2, 0, 2, 1, 2, 1, 4, 3, 2,
1, 1, 1, 0, 1, 2), TICS_20= c(2, 0, 2, 0, 0, 0, 1, 0, 1, 1, 0, 4, 1,
1, 0, 0, 1, 0, 2, 0), TICS_21= c(2, 1, 1, 0, 2, 3, 0, 1, 0, 1, 3, 2,
2, 1, 2, 1, 1, 1, 3, 0), TICS_22= c(3, 0, 1, 2, 2, 3, 1, 4, 0, 1, 1,
2, 3, 1, 1, 2, 3, 2, 0, 3), TICS_24= c(2, 0, 0, 1, 0, 0, 2, 0, 1, 1,
0, 2, 0, 0, 0, 1, 1, 0, 0, 1), TICS_25= c(4, 0, 1, 2, 2, 2, 4, 2, 1,
1, 0, 3, 0, 2, 0, 1, 2, 1, 2, 1), TICS_26= c(3, 0, 2, 2, 0, 1, 1, 0,
0, 1, 0, 2, 0, 2, 0, 0, 0, 0, 0, 1), TICS_27= c(3,
1, 4, 2, 3, 3, 4, 4, 0, 1, 0, 3, 2, 3, 2, 3, 2, 2, 4, 3), TICS_28=
c(3, 2, 2, 1, 1, 2, 1, 2, 1, 1, 0, 4, 1, 2, 1, 0, 1, 0, 0, 2),
TICS_29= c(2, 0, 1, 0, 2, 2, 1, 0, 1, 0, 0, 4, 1, 1, 0, 1, 0, 0, 1,
1), TICS_30= c(2, 1, 3, 1, 2, 2, 1, 0, 1, 1, 1, 3, 2, 0, 1, 0, 1, 2,
2, 2), TICS_31= c(2, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 3, 2, 1, 0, 0, 1,
0, 2, 1), TICS_32= c(4, 1, 1, 0, 1, 2, 1, 4, 0, 3, 0, 3, 3, 2, 1, 2,
2, 2, 3, 3), TICS_33= c(2,
1, 0, 2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 1, 1), TICS_34=
c(1, 3, 0, 0, 2, 1, 1, 1, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0),
TICS_35= c(1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 2, 0, 1, 0, 1, 1, 0, 4,
1), TICS_36= c(4, 1, 2, 3, 3, 2, 4, 1, 0, 1, 2, 3, 1, 3, 0, 1, 1, 0,
2, 1), TICS_37= c(1, 1, 2, 0, 2, 3, 3, 0, 1, 2, 1, 2, 1, 0, 2, 2, 1,
1, 2, 1), TICS_38= c(3, 0, 3, 1, 2, 2, 2, 3, 0, 2, 0, 4, 0, 2, 1, 2,
2, 1, 1, 2), TICS_39= c(1, 1, 2, 2, 3, 1, 1, 2, 1, 1, 1, 4, 1, 1, 1,
1, 3, 0, 0, 3), TICS_40= c(2, 0, 2, 0, 3, 2, 1, 2, 0, 0, 0, 3, 2, 2,
0, 1, 2, 0, 0, 1), TICS_41= c(2, 2, 0, 0, 2, 3, 1, 1, 0, 1, 3, 1, 2,
0, 1, 0, 0, 1, 2, 0), TICS_42= c(1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 1, 2,
1, 1, 1, 0, 0, 0, 0, 0), TICS_43= c(4,
1, 1, 2, 2, 3, 3, 3, 0, 2, 1, 4, 3, 2, 1, 1, 3, 1, 2, 3), TICS_44=
c(3, 0, 2, 1, 2, 2, 3, 3, 0, 1, 0, 4, 1, 3, 0, 2, 2, 1, 3, 1),
TICS_45= c(2,
0, 1, 2, 0, 1, 0, 2, 0, 1, 0, 2, 0, 2, 0, 0, 0, 0, 0, 1), TICS_46=
c(2, 1, 0, 1, 2, 2, 1, 0, 0, 3, 1, 4, 3, 1, 1, 0, 1, 1, 2, 1),
TICS_47= c(3,
1, 2, 1, 2, 2, 1, 1, 1, 2, 0, 3, 1, 2, 1, 2, 1, 1, 4, 1), TICS_48=
c(1,
2, 3, 1, 2, 3, 1, 1, 0, 2, 2, 4, 2, 3, 2, 2, 1, 0, 2, 0), TICS_49=
c(1,
3, 2, 2, 1, 2, 2, 1, 0, 1, 1, 4, 3, 0, 1, 2, 4, 1, 0, 3), TICS_50=
c(3,
0, 3, 1, 1, 2, 4, 3, 0, 2, 0, 4, 2, 3, 2, 2, 2, 2, 2, 3), TICS_51=
c(1,
2, 0, 0, 2, 1, 0, 0, 0, 0, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0), TICS_52=
c(2,
1, 3, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 3, 0, 0, 0, 0, 0, 1), TICS_53=
c(2,
2, 2, 0, 2, 3, 1, 1, 0, 2, 2, 3, 2, 2, 2, 1, 1, 1, 2, 1), TICS_54=
c(3,
0, 3, 2, 2, 2, 3, 3, 1, 2, 0, 4, 0, 2, 0, 2, 2, 0, 2, 1), TICS_55=
c(2,
0, 0, 1, 0, 1, 2, 0, 0, 1, 0, 4, 0, 1, 0, 1, 1, 0, 2, 0), TICS_56=
c(4,
3, 1, 0, 2, 0, 0, 0, 1, 0, 1, 2, 1, 1, 1, 0, 0, 0, 2, 0), TICS_57=
c(2,
1, 1, 0, 2, 1, 0, 0, 1, 1, 1, 4, 3, 0, 0, 1, 1, 0, 0, 2), HSPS_1 =
c(3,
4, 3, 3, 4, 2, 4, 2, 4, 2, 3, 4, 2, 2, 4, 2, 3, 3, 5, 2), HSPS_2 =
c(4,
4, 3, 5, 5, 3, 2, 4, 5, 5, 3, 4, 3, 4, 4, 2, 4, 3, 4, 3), HSPS_3 =
c(4,
4, 4, 3, 3, 4, 3, 3, 3, 3, 3, 5, 3, 4, 5, 3, 3, 3, 4, 2), HSPS_4 =
c(4,
2, 1, 4, 2, 3, 5, 3, 5, 2, 3, 3, 3, 4, 3, 3, 4, 2, 5, 2), HSPS_5 =
c(2,
2, 2, 4, 3, 3, 3, 1, 4, 3, 3, 4, 3, 2, 4, 3, 4, 3, 5, 1), HSPS_6 =
c(4,
3, 1, 3, 4, 3, 3, 3, 3, 2, 1, 1, 1, 3, 5, 3, 3, 1, 1, 2), HSPS_7 =
c(4,
3, 1, 3, 4, 2, 3, 1, 4, 3, 2, 4, 1, 1, 5, 3, 3, 1, 5, 1), HSPS_8 =
c(4,
3, 5, 5, 4, 5, 5, 3, 4, 4, 3, 3, 2, 4, 4, 3, 4, 3, 3, 3), HSPS_9 =
c(3,
2, 2, 5, 3, 3, 4, 1, 5, 2, 2, 4, 1, 2, 4, 4, 3, 1, 5, 2), HSPS_10=
c(4,
4, 5, 4, 4, 4, 3, 1, 4, 3, 3, 4, 2, 1, 5, 3, 4, 4, 3, 2), HSPS_11=
c(3,
2, 2, 3, 2, 2, 3, 1, 3, 2, 4, 5, 1, 3, 3, 3, 3, 2, 3, 2), HSPS_12=
c(4,
4, 5, 5, 4, 5, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 4, 4, 5, 4), HSPS_13=
c(3,
2, 3, 2, 2, 2, 5, 2, 3, 2, 3, 4, 3, 3, 3, 3, 4, 2, 5, 2), HSPS_14=
c(3,
2, 2, 3, 3, 3, 5, 3, 3, 2, 3, 3, 2, 3, 2, 3, 3, 2, 4, 2), HSPS_15=
c(4,
4, 2, 3, 4, 3, 3, 3, 4, 2, 3, 3, 5, 2, 4, 2, 3, 3, 3, 2), HSPS_16=
c(2,
2, 1, 5, 2, 3, 2, 2, 3, 3, 3, 5, 2, 3, 3, 3, 2, 2, 5, 2), HSPS_17=
c(4,
3, 4, 5, 3, 4, 4, 2, 4, 3, 5, 4, 4, 4, 5, 4, 5, 2, 5, 4), HSPS_18=
c(2,
2, 1, 2, 1, 2, 2, 1, 3, 2, 2, 5, 2, 1, 4, 3, 2, 1, 5, 1), HSPS_19=
c(3,
2, 2, 4, 2, 2, 3, 1, 4, 2, 2, 4, 1, 1, 4, 3, 2, 2, 5, 2), HSPS_20=
c(4,
4, 4, 3, 4, 3, 5, 3, 3, 3, 4, 3, 3, 4, 4, 3, 5, 3, 5, 2), HSPS_21=
c(3,
3, 4, 5, 3, 3, 5, 2, 4, 2, 3, 5, 4, 4, 3, 2, 3, 2, 5, 2), HSPS_22=
c(3,
5, 5, 4, 5, 4, 3, 2, 4, 3, 3, 5, 3, 2, 4, 2, 4, 3, 5, 2), HSPS_23=
c(2,
2, 1, 4, 2, 3, 4, 3, 3, 2, 2, 5, 3, 3, 3, 3, 3, 2, 5, 3), HSPS_24=
c(3,
2, 2, 3, 3, 3, 3, 2, 4, 2, 3, 5, 4, 2, 4, 4, 4, 3, 4, 2), HSPS_25=
c(3,
2, 2, 5, 3, 3, 5, 1, 4, 2, 3, 5, 3, 2, 4, 3, 3, 2, 5, 2), HSPS_26=
c(2,
1, 1, 3, 3, 3, 3, 2, 3, 2, 2, 5, 2, 2, 3, 3, 3, 2, 5, 2), HSPS_27=
c(2,
2, 1, 4, 3, 2, 3, 4, 3, 1, 4, 1, 1, 3, 4, 2, 3, 2, 5, 3), sex =
structure(c(2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 1L), .Label = c("m", "w", "d"), class = "factor"), Bildung =
structure(c(6L,
5L, 5L, 6L, 6L, 6L, 5L, 6L, 5L, 6L, 6L, 4L, 6L, 5L, 5L, 6L, 6L,
5L, 5L, 6L), .Label = c("kein", "Haupt", "mittlereR", "Fachabi",
"Abi", "Studium"), class = "factor"), job = structure(c(6L, 2L,
2L, 2L, 2L, 6L, 2L, 6L, 5L, 2L, 2L, 1L, 6L, 2L, 2L, 2L, 6L, 2L,
2L, 6L), .Label = c("hausl", "Student", "Azubi", "Suchend", "Rente",
"berufstaetig"), class = "factor"), age = c(23, 24, 21, 70, 25,
29, 22, 25, 57, 24, 25, 30, 31, 20, 28, 27, 26, 21, 24, 53),
VPN = 1:20, consent = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label =
c("ja",
"nein"), class = "factor"), psy = c(0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0), HSPS = c(86, 75,
69, 102, 85, 82, 97, 59, 100, 68, 80, 106, 68, 73, 105, 79,
91, 63, 119, 59), neuro = c(16, 3, 4, 10, 10, 11, 12, 5,
5, 5, 5, 16, 5, 18, 4, 3, 8, 5, 19, 7), extra = c(15, 17,
19, 7, 19, 17, 18, 17, 16, 10, 17, 14, 15, 19, 11, 13, 16,
18, 9, 13), TICS_Skala1 = c(23, 1, 22, 11, 14, 16, 22, 25,
2, 11, 1, 29, 9, 20, 10, 19, 16, 9, 18, 16), TICS_Skala2 = c(14,
12, 11, 9, 11, 10, 4, 10, 5, 8, 5, 24, 13, 5, 6, 6, 14, 2,
1, 13), TICS_Skala3 = c(21, 6, 10, 5, 12, 14, 11, 20, 3,
11, 4, 27, 20, 13, 7, 13, 20, 11, 11, 18), TICS_Skala4 = c(13,
14, 13, 2, 16, 23, 10, 9, 3, 13, 15, 18, 14, 11, 13, 10,
7, 9, 17, 6), TICS_Skala5 = c(12, 2, 6, 5, 3, 5, 8, 3, 4,
6, 0, 18, 3, 7, 1, 6, 6, 1, 13, 3), TICS_Skala6 = c(10, 2,
3, 4, 4, 6, 3, 0, 0, 5, 2, 15, 10, 5, 2, 1, 5, 2, 8, 3),
TICS_Skala7 = c(15, 5, 9, 13, 4, 8, 4, 9, 1, 6, 2, 11, 2,
12, 3, 2, 1, 3, 2, 7), TICS_Skala8 = c(8, 10, 3, 0, 11, 7,
2, 1, 2, 2, 7, 20, 7, 2, 2, 2, 1, 1, 2, 3), TICS_Skala9 = c(12,
3, 4, 8, 8, 6, 9, 5, 2, 6, 5, 11, 3, 11, 1, 5, 9, 3, 7, 5
), TICS_Skala10 = c(32, 5, 18, 16, 19, 18, 21, 16, 5, 17,
7, 39, 12, 24, 3, 15, 20, 6, 25, 14), neuro.c = c(6.08921933085502,
-6.91078066914498, -5.91078066914498, 0.089219330855018,
0.089219330855018, 1.08921933085502, 2.08921933085502,
-4.91078066914498,
-4.91078066914498, -4.91078066914498, -4.91078066914498,
6.08921933085502, -4.91078066914498, 8.08921933085502,
-5.91078066914498,
-6.91078066914498, -1.91078066914498, -4.91078066914498,
9.08921933085502, -2.91078066914498), extra.c = c(5.21003717472119,
7.21003717472119, 9.21003717472119, -2.78996282527881,
9.21003717472119,
7.21003717472119, 8.21003717472119, 7.21003717472119,
6.21003717472119,
0.21003717472119, 7.21003717472119, 4.21003717472119,
5.21003717472119,
9.21003717472119, 1.21003717472119, 3.21003717472119,
6.21003717472119,
8.21003717472119, -0.78996282527881, 3.21003717472119), age.c =
c(-15.4460966542751,
-14.4460966542751, -17.4460966542751, 31.5539033457249,
-13.4460966542751,
-9.4460966542751, -16.4460966542751, -13.4460966542751,
18.5539033457249,
-14.4460966542751, -13.4460966542751, -8.4460966542751,
-7.4460966542751,
-18.4460966542751, -10.4460966542751, -11.4460966542751,
-12.4460966542751, -17.4460966542751, -14.4460966542751,
14.5539033457249), HSP.c = c(-1.92936802973978, -12.9293680297398,
-18.9293680297398, 14.0706319702602, -2.92936802973978,
-5.92936802973978,
9.07063197026022, -28.9293680297398, 12.0706319702602,
-19.9293680297398,
-7.92936802973978, 18.0706319702602, -19.9293680297398,
-14.9293680297398,
17.0706319702602, -8.92936802973978, 3.07063197026022,
-24.9293680297398,
31.0706319702602, -28.9293680297398), HSPhoch = c(1, 0, 0,
1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0)), row.names =
c(NA, 20L), class = "data.frame")
I want to produce a 3D scatterplot and add a surface fitted with a linear regression, using plotly. My data:
structure(list(political_trust = c(1, 6, 7, 5, 0, 2, 1, 3, 5,
0, 2, 5, 5, 6, 6, 3, 3, 2, 5, 8, 3, 7, 3, 4, 5, 4, 5, 0, 0, 4,
6, 1, 0, 4, 0, 5, 5, 6, 7, 3, 5, 4, 5, 2, 4, 4, 7, 6, 7, 5, 4,
6, 7, 5, 7, 3, 3, 3, 2, 5, 2, 7, 3, 2, 7, 2, 3, 0, 7, 5, 7, 3,
0, 7, 2, 6, 3, 8, 7, 2, 2, 5, 0, 1, 6, 3, 6, 5, 1, 3, 4, 4, 5,
3, 3, 0, 2, 4, 9, 6, 3, 3, 2, 3, 4, 5, 8, 0, 4, 1, 5, 0, 4, 0,
5, 6, 3, 2, 7, 5, 4, 3, 8, 3, 4, 0, 3, 6, 7, 7, 2, 3, 5, 5, 5,
0, 3, 2, 1, 7, 5, 0, 4, 0, 2, 7, 3, 0, 8, 3, 2, 4, 5, 5, 3, 2,
3, 8, 6, 5, 6, 7, 0, NA, 7, 7, 2, 0, 3, 4, 7, 2, 1, 2, 0, 0,
4, 3, 3, 6, 6, 1, 4, 0, 4, 0, 0, 7, 6, 4, 4, 6, 5, 4, 3, 3, 0,
NA, 2, 5), political_interest = c(2, 0, 3, 3, 2, 1, 2, 2, 2,
2, 2, 2, 3, 3, 3, 3, 2, 2, 3, 2, 1, 2, 2, 2, 2, 0, 2, 1, 3, 1,
1, 1, 1, 1, 2, 3, 2, 2, 2, 1, 3, 3, 2, 3, 2, 1, 3, 2, 0, 3, 1,
1, 2, 1, 2, 2, 1, 3, 3, 2, 3, 2, 3, 2, 2, 1, 2, 0, 3, 1, 2, 2,
1, 3, 2, 2, 1, 2, 2, 0, 3, 2, 2, 1, 2, 1, 1, 3, 1, 1, 3, 2, 0,
2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 0, 1, 1, 2, 2, 2, 2,
2, 0, 0, 2, 3, 2, 2, 2, 3, 3, 0, 3, 3, 1, 2, 1, 1, 1, 2, 3, 2,
2, 2, 0, 2, 2, 2, 1, 2, 3, 3, 1, 2, 0, 1, 1, 0, 2, 2, 1, 2, 2,
2, 2, 3, 2, 1, 2, 2, 0, 0, 3, 2, 2, 2, 1, 2, 3, 0, 1, 2, 3, 2,
2, 2, 1, 3, 1, 1, 2, 2, 3, 3, 1, 2, 2, 2, 2, 2, 1, 0, 1, 1, 0,
3, 3), education_level = c(0, 2, 1, 5, 5, 0, 4, 4, 0, 0, 3, 2,
3, 4, 0, 4, 4, 4, 4, 3, 0, NA, 4, 0, 4, 3, 4, 1, 5, 2, NA, 0,
0, 4, 3, 3, 5, 3, 4, 0, 4, 4, 0, 4, 5, 4, 2, 2, 0, 5, 3, 0, 4,
1, 5, 4, 0, 4, 4, 5, 5, 4, 4, 4, 5, 2, 3, 2, 4, 0, 4, 0, 5, 4,
4, 4, 4, 4, 4, 2, 4, 5, 3, 4, 3, 0, 4, 4, 4, 3, 4, 4, 0, 3, 4,
2, 3, 3, 0, 4, 4, 4, 5, 4, 0, 4, 4, 4, 0, 3, 1, 4, NA, 4, 0,
1, 2, 4, 0, 2, 1, 4, 4, 4, 3, NA, 5, 2, 1, 0, 0, 4, 3, 3, 4,
3, 0, 3, NA, 4, 0, 0, 4, 5, 4, 5, 2, 2, 0, 3, 4, 3, 1, 3, 2,
3, 5, 0, 4, 5, 0, 5, 2, 0, 3, NA, NA, 2, 4, 3, 4, 3, 2, 2, 4,
4, 3, 0, 4, 0, 4, 4, 3, 0, 4, 4, 3, 5, 0, 3, 0, 4, 3, 0, 3, 3,
3, 4, 5, 1)), row.names = c(NA, -200L), class = "data.frame")
I start by defining a list of relevant variables - this is not necessary but basically a consequence of using the code in a Shiny up:
input <- list()
input$x <- "education_level"
input$y <- "political_trust"
input$z <- "political_interest"
Next, creating the surface data:
# Regressing "political_interest" on "education_level" and "political_trust":
lm <- lm(as.formula(paste0(input$z, " ~ ", input$x, " + ", input$y)), data)
# Defining range of values that outcome will be predicted for
axis_x <- seq(min(data[, input$x], na.rm = T),
max(data[, input$x], na.rm = T), by = 0.2)
axis_y <- seq(min(data[, input$y], na.rm = T),
max(data[, input$y], na.rm = T), by = 0.2)
# Predicting outcome, and getting data into surface format
lm_surface <- expand.grid(x = axis_x, y = axis_y, KEEP.OUT.ATTRS = F)
colnames(lm_surface) <- c(input$x, input$y)
lm_surface <- acast(lm_surface, as.formula(paste0(input$x, " ~ ", input$y)),
value.var = input$z)
Last, plotting this with plotly:
data %>%
filter(!is.na(get(input$z))) %>%
filter(!is.na(get(input$x))) %>%
filter(!is.na(get(input$y))) %>%
plot_ly(., x = ~jitter(get(input$x), factor = 2.5),
y = ~jitter(get(input$y), factor = 2.5),
z = ~jitter(get(input$z), factor = 2.5),
type = "scatter3d", mode = "markers",
marker = list(size = 2, color = "#cccccc")) %>%
add_surface(., z = lm_surface,
x = axis_x,
y = axis_y,
type = "surface")
This gives me the following. As you can see, the surface does not cover the full range of the y-dimension. Note also that the surface plotted is "quadratic" - i.e. same length in x and y - although it should have non-quadratic dimensions.
I can bring plotly to draw larger surface area, e.g. by changing the range of values like below, but it always stays quadratic.
axis_x <- seq(0, 10, by = 0.2)
axis_y <- seq(0, 10, by = 0.2)
Ok, question solved.
It's important which dimension of the surface matrix (lm_surface) is which. Swapping x and y when applying acast fixes the issue:
lm_surface <- acast(lm_surface, as.formula(paste0(input$y, " ~ ", input$x)),
value.var = input$z)