papers
Publications in reversed chronological order.
2019
-
Conjugation of Fab’ Fragments with Fluorescent Dyes for Single-molecule Tracking on Live Cells Bio-protocol 9(18), e3375, 2019 [Bio-protocol]
-
Rational Design of Fluorogenic and Spontaneously Blinking Labels for Super-Resolution Imaging ACS Central Science, 2019 [ACS Publications]
2017
-
Optical measurement of receptor tyrosine kinase oligomerization on live cells Biochimica et Biophysica Acta (BBA)-Biomembranes, 1859(9 Pt A),1436-1444, 2017 [PubMed]
2016
-
High cell-surface density of HER2 deforms cell membranes Nature communications 7, 12742, 2016 [PubMed]
2014
-
Single-molecule optical methods analyzing receptor tyrosine kinase activation in living cells. Methods in molecular biology (Clifton, N.J.) 1233, 35-44, 2014 [PubMed]
-
Transferrin receptor (TfR) trafficking determines brain uptake of TfR antibody affinity variants Journal of Experimental Medicine, jem. 20131660, 2014 [PubMed]
2010
-
Spatial control of EGF receptor activation by reversible dimerization on living cells Nature 464 (7289), 783-787, 2010 [PubMed]
2007
-
Extracting the number of quantum dots in a microenvironment from ensemble fluorescence intensity fluctuations Physical Review B 75 (4), 045311, 2007 [APS Physics]
2006
-
Description of the fluorescence intensity time trace of collections of CdSe nanocrystal quantum dots based on single quantum dot fluorescence blinking statistics Physical Review E 73 (1), 011106, 2006 [PubMed]
2004
-
Relationship between single quantum-dot intermittency and fluorescence intensity decays from collections of dots Physical Review B 70 (16), 165304, 2004 [APS Physics]
2003
-
Room temperature measurements of the 3D orientation of single CdSe quantum dots using polarization microscopy Proceedings of the National Academy of Sciences 100 (2), 405-408, 2003 [PubMed]
1999
-
Synthesis of all possible regioisomers of scyllo-Inositol phosphate Bioorganic & medicinal chemistry 7 (11), 2577-2589, 1999 [PubMed]


Quotes Vending Machine
"Press the "Get A Quote" button to get a random quote from our archives  "
- This Website
Get A Quote


Copyright (c) 2006-2010: Nagler & Company
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
NC::Log is a global log utility. It provides a demonstration interface to a logger. There are much more powerful logging utilities. This one restricts to demonstration purposes and simplicity.
Use logInit()
for initialisation and afterwards logPrint()
for output. Output is
global, so no handle has to be remembered by the caller. If output cannot be processed,
the functions do an explicit die, so this has to be catched above if the caller
wished to continue in this cases - which is unlikely.
Initialise log interface and open logfile.
Everything below the log level won't be printed out. See Log Levels below. Use 'a' for Log mode append, everything else will truncate the log file.
Processes a line of output.
Checks if logger was successfully initialised before. This is useful if modules wish to do use the logger but don't know anything about the log file.
Ends log output. Useful if you want to re-initialise the log e.g. in a 24h service that wishes to open a new log on certain times.
Currently default level is LOG (will be used if given level is not defined). The defined log levels are in ascending order:
Currently seperate log files are not supported. It is assumed logInit()
is called
exactly once and you cannot have seperate log instances with different log levels
for logging.
However, if logInit()
is called again, logging will continue and the existing
log interface is used. You can use this to add log output to modules even if
you don't know if the interface was correctly initialised by just initialising
it again in your module. You will find the log in the global log (if given)
or in your locally new defined log otherwise.
Asmus Löwenhaupt, Nagler & Company.


It seems to me that most of the robots with a lot of media presence have legs (and are usually humanoid) whereas the ones that are actually starting to come into use have wheels. In Japan, pet-like robots with four legs as well as 2-legged robots resembling human beings are already being marketed. On the other hand, currently the most visible practical robot is no doubt the Roomba, which runs on wheels, and the automotive industry is beginning to introduce robotic technologies, too. I'm not sure where we're at with regard to military robots, but I think some are on wheels and others have wings for airborne movement.
I think practical ("servant"?) robots will be wheeled for some time to come because this technology is superior to legs for movement in controlled, mainly flat environments. Legs start to come in handy when you have to deal with unpredictable terrain, where you (or a robot) might need to climb a tree, stairs, a rock face or to jump across or over obstacles.
A robot's practical need for legs will thus depend on its ability to evaluate a variety of physical environments and to translate this evaluation into the appropriate movements. So, without the intelligence level of vertebrates, legs are really useless. So, it's still unclear to me at what point legged robots will actually start to become common in practical contexts. Since my college days, people have been actively working on AI, but it's unclear to me how far we have come toward being able to create a robot with a mind as sophisticated as that of a dog.
When we do reach that point, however, I wonder whether robots will more likely have 4 legs or 2. In the animal world, 4 legs have proven themselves to allow greater speed (cheetahs vs. even the fastest 2-legged aninals: ostriches) and greater mobility (squirrels, monkeys). Birds of course have wings, and that may actually be a component of intelligent, all-purpose robots, but one does get into engineering issues having to do with weight. For a robot capable of highly skilled movements on land (such as those that monkeys can perform), I'm not seeing the real need to deal with the engineering problems necessary to add the capacity for flight.
For humans, walking was evolutionarily adaptive because it freed up our hands to carry things and make tools, thus creating a biological environment in which differentiated human language also became advantageous. Basically, we received generous biological compensation for our inability to swing from tree to tree like monkeys or run with the speed and agility of more distant relatives such as leopards or wolves.
I see no reason, however, why robots should need to sacrifice the advantages of 4-legged travel: The evolution of their linguistic intelligence is going to have nothing to do with their ability to make tools but will depend entirely on our ability to provide them with such intelligence. And many of the uses of human hands (carrying offspring, food, tools) are unnecessary or can be achieved by other, more efficient means in a robot.
Exceptions would be robots designed for tasks that don't require high ground-speeds or the ability to climb but that rely more heavily on using hands and arms. The first one that comes to mind for me would be a cooking robot. For such a robot, two legs would be desirable, but perhaps a configuration of hands and arms completely divorced from biological necessity--such as multiple hands and arms of different types for different tasks.
For now, in any case, I think most of the robots we see used for practical purposes (as opposed to toys) will be wheeled. We'll have to wait for AI to get a bit further along before robots with legs can become useful in practice. But when we do reach that point, I expect that the engineering of legs and arms will tend to make such robots differ significantly from expectations that currently derive from our experiences with human beings and other animals.


|
Support Class Library
A set of tools providing classes and utility
|
A class that allow task execution on a separate thread using RAII semantics. More...
#include <Active.h>
Public Types | |
| using | message_type = std::function< void()> |
| The type of messages sent through the queue. | |
| using | thread_type = std::thread |
| The type of threads used to execute the tasks. | |
| using | flag_type = std::atomic_bool |
| The type of flags used for completion checks. | |
| using | message_queue_type = Channel< message_type > |
| The type of queue used to send messages. | |
Public Member Functions | |
| Active () | |
| Construct an active object (starts spinning the queue) | |
| ~Active () | |
| Destroy an active object (finishing the queue) | |
| void | execute (message_type msg) |
| Execute a task via the active object. More... | |
Protected Attributes | |
| flag_type | done |
| The flag determining whether or not we should execute more tasks. | |
| message_queue_type | mq |
| The queue used to transfer messages. | |
| thread_type | thread |
| The worker thread used to execute tasks. | |
A class that allow task execution on a separate thread using RAII semantics.
|
inline |


11 MLM, Longitudinal: Autism
library(tidyverse) # all things tidy
library(pander) # nice looking general tabulations
library(furniture) # nice table1() descriptive
library(texreg) # Convert Regression Output to LaTeX or HTML Tables
library(psych) # contains some useful functions, like headTail
library(performance)
library(sjstats) # ICC calculations
library(sjPlot) # Quick predictive and diagnostic plots
library(effects) # Estimated Marginal Means
library(VIM) # Visualization and Imputation of Missing Values
library(naniar) # Summaries and Visualizations for Missing Data
library(lme4) # Linear, generalized linear, & nonlinear mixed models
library(optimx)
library(interactions)
library(ggResidpanel)
library(HLMdiag) # package with the dataset
11.1 Background
The source: http://www-personal.umich.edu/~kwelch/
This data was collected by researchers at the University of Michigan (Anderson et al. 2009) as part of a prospective longitudinal study of 214 children. The children were divided into three diagnostic groups (bestest2
) when they were 2 years old: Autism (autism
), Pervasive Developmental Disorder (pdd
), and non-spectrum children (none in this sample). The study was designed to collect information on each child at approximately 2, 3, 5, 9, and 13 years of age, although not all children were measured for each age. One of the study objectives was to assess the relative influence of the initial diagnostic category, language proficiency at age 2, and other covariates on the developmental trajectories of the socialization (vsae
) of these children.
Study participants were children who had had consecutive referrals to one of two autism clinics before the age of 3 years. Social development was assessed at each age using the Vineland Adaptive Behavior Interview survey form, a parent-reported measure of socialization. VSAE (Vineland Socialization Age Equivalent), was a combined score that included assessments of interpersonal relationships, play/leisure time activities, and coping skills. Initial language development was assessed using the Sequenced Inventory of Communication Development (SICD) scale; children were placed into one of three groups (sicdegp
) based on their initial SICD scores on the expressive language subscale at age 2.
childid
Child’s identification number for this studysicdegp
Sequenced Inventory of Communication Development group (an assessment of expressive language development) - a factor. Levels arelow
,med
, andhigh
age2
Age (in years) centered around age 2 (age at diagnosis)vsae
Vineland Socialization Age Equivalent, Parent-reported measure of socialization, including measures of:- interpersonal relationships
- play/leisure time activities
- coping skills
gender
Child’s gender - a factor. Levels aremale
andfemale
race
Child’s race - a factor. Levels arewhite
andnonwhite
bestest2
Diagnosis at age 2 - a factor.
Notice the missing values, displayed as NA
.
%>%
data_wide ::headTail() psych
childid gender race bestest2 sicdegp vsae_2 vsae_3 vsae_5 vsae_9 vsae_13
1 1 male white pdd high 6 7 18 25 27
2 2 male white autism low 6 7 7 8 14
3 3 male nonwhite pdd high 17 18 12 18 24
4 4 male nonwhite autism high 12 14 38 114 <NA>
5 <NA> <NA> <NA> <NA> <NA> ... ... ... ... ...
6 209 male white autism med 2 4 <NA> 12 32
7 210 male white autism low 4 25 <NA> 130 <NA>
8 211 male nonwhite autism high 15 <NA> <NA> <NA> <NA>
9 212 male white autism med 7 21 29 72 147
11.2 Exploratory Data Analysis
11.2.1 Demographic Summary
<IP_ADDRESS> Using the WIDE formatted dataset
Each person’s data is only stored on a single line
%>%
data_wide ::group_by("Initial Language Development" = sicdegp) %>% # how split into columns
dplyr::table1("Diagnosis" = bestest2,
furniture"Gender" = gender,
"Race" = race,
digits = 2,
na.rm = FALSE,
total = TRUE,
test = TRUE, # compare the groups
output = "markdown")
| Total | low | med | high | P-Value | |
|---|---|---|---|---|---|
| n = 155 | n = 49 | n = 65 | n = 41 | ||
| Diagnosis | 0.018 | ||||
| autism | 100 (64.5%) | 38 (77.6%) | 42 (64.6%) | 20 (48.8%) | |
| pdd | 55 (35.5%) | 11 (22.4%) | 23 (35.4%) | 21 (51.2%) | |
| NA | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | |
| Gender | 0.706 | ||||
| male | 134 (86.5%) | 44 (89.8%) | 55 (84.6%) | 35 (85.4%) | |
| female | 21 (13.5%) | 5 (10.2%) | 10 (15.4%) | 6 (14.6%) | |
| NA | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | |
| Race | 0.944 | ||||
| white | 101 (65.2%) | 31 (63.3%) | 43 (66.2%) | 27 (65.9%) | |
| nonwhite | 54 (34.8%) | 18 (36.7%) | 22 (33.8%) | 14 (34.1%) | |
| NA | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) |
<IP_ADDRESS> Using the LONG formatted dataset
Each person’s data is stored on multiple lines, one for each time point. To ensure the summary table is correct, you must choose a single time point per person.
# Note: One person is missing Age 2
%>%
data_long ::filter(age == 2) %>% # restrict to one-line per person
dplyr::group_by("Initial Language Development" = sicdegp) %>% # how split into columns
dplyr::table1("Diagnosis" = bestest2,
furniture"Gender" = gender,
"Race" = race,
digits = 2,
na.rm = FALSE,
total = TRUE,
test = TRUE, # compare the groups
output = "markdown")
| Total | low | med | high | P-Value | |
|---|---|---|---|---|---|
| n = 154 | n = 49 | n = 65 | n = 40 | ||
| Diagnosis | 0.025 | ||||
| autism | 100 (64.9%) | 38 (77.6%) | 42 (64.6%) | 20 (50%) | |
| pdd | 54 (35.1%) | 11 (22.4%) | 23 (35.4%) | 20 (50%) | |
| NA | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | |
| Gender | 0.714 | ||||
| male | 134 (87%) | 44 (89.8%) | 55 (84.6%) | 35 (87.5%) | |
| female | 20 (13%) | 5 (10.2%) | 10 (15.4%) | 5 (12.5%) | |
| NA | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | |
| Race | 0.95 | ||||
| white | 100 (64.9%) | 31 (63.3%) | 43 (66.2%) | 26 (65%) | |
| nonwhite | 54 (35.1%) | 18 (36.7%) | 22 (33.8%) | 14 (35%) | |
| NA | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) |
11.2.2 Baseline Summary
<IP_ADDRESS> Using the WIDE formatted dataset
Each person’s data is only stored on a single line
%>%
data_wide ::group_by("Initial Language Development" = sicdegp) %>% # how split into columns
dplyr::table1(vsae_2,
furnituredigits = 2,
na.rm = FALSE,
total = TRUE,
test = TRUE, # compare the groups
output = "markdown")
| Total | low | med | high | P-Value | |
|---|---|---|---|---|---|
| n = 155 | n = 49 | n = 65 | n = 41 | ||
| vsae_2 | <.001 | ||||
| 9.16 (3.84) | 7.06 (2.73) | 8.74 (3.51) | 12.40 (3.43) |
<IP_ADDRESS> Using the LONG formatted dataset
Each person’s data is stored on multiple lines, one for each time point. To ensure the summary table is correct, you must choose a single time point per person.
%>%
data_long ::filter(age == 2) %>%
dplyr::group_by("Initial Language Development" = sicdegp) %>% # how split into columns
dplyr::table1(vsae,
furnituretest = TRUE,
output = "markdown")
| low | med | high | P-Value | |
|---|---|---|---|---|
| n = 49 | n = 65 | n = 40 | ||
| vsae | <.001 | |||
| 7.1 (2.7) | 8.7 (3.5) | 12.4 (3.4) |
11.2.3 Missing Data & Attrition
<IP_ADDRESS> VIM
package
Plot the amount of missing vlaues and the amount of each patter of missing values.
%>%
data_wide ::aggr(numbers = TRUE, # shows the number to the far right
VIMprop = FALSE) # shows counts instead of proportions
<IP_ADDRESS> naniar
package
%>%
data_wide ::vis_miss() naniar
%>%
data_wide ::gg_miss_var() naniar
%>%
data_wide ::gg_miss_var(show_pct = TRUE, # x-axis is PERCENT, not count
naniarfacet = sicdegp) + # create seperate panels
theme_bw() # add ggplot layers as normal
%>%
data_wide ::gg_miss_upset() naniar
%>%
data_wide ::gg_miss_upset(sets = c("vsae_13_NA",
naniar"vsae_9_NA",
"vsae_5_NA",
"vsae_3_NA",
"vsae_2_NA"),
keep.order = TRUE)
11.2.4 Means Across Time
<IP_ADDRESS> Using the WIDE formatted dataset
Default = COMPLETE CASES ONLY!!!
Note - the sample size at each time point is the same, but subjects are only included if they have data at every time point (total n = 41)
%>%
data_wide ::group_by("Initial Language Development" = sicdegp) %>% # how split into columns
dplyr::select(starts_with("vsae_")) %>%
dplyr::table1(digits = 2,
furnituretotal = TRUE,
test = TRUE, # compare the groups
output = "markdown")
| Total | low | med | high | P-Value | |
|---|---|---|---|---|---|
| n = 41 | n = 10 | n = 17 | n = 14 | ||
| vsae_2 | 0.003 | ||||
| 9.80 (4.39) | 6.60 (2.88) | 9.47 (4.12) | 12.50 (4.09) | ||
| vsae_3 | <.001 | ||||
| 14.54 (6.89) | 8.00 (2.11) | 14.29 (6.08) | 19.50 (6.15) | ||
| vsae_5 | <.001 | ||||
| 23.00 (14.84) | 12.50 (5.54) | 20.18 (8.57) | 33.93 (18.50) | ||
| vsae_9 | <.001 | ||||
| 36.68 (26.29) | 12.30 (8.07) | 34.41 (22.54) | 56.86 (23.54) | ||
| vsae_13 | 0.009 | ||||
| 57.07 (47.83) | 22.40 (24.45) | 57.82 (50.33) | 80.93 (44.38) |
Specify All data:
note - that the smaple sizes will be different for each time point (total n = 155)
%>%
data_wide ::group_by("Initial Language Development" = sicdegp) %>% # how split into columns
dplyr::select(starts_with("vsae_")) %>%
dplyr::table1(digits = 2,
furniturena.rm = FALSE,
total = TRUE,
test = TRUE, # compare the groups
output = "markdown")
| Total | low | med | high | P-Value | |
|---|---|---|---|---|---|
| n = 155 | n = 49 | n = 65 | n = 41 | ||
| vsae_2 | <.001 | ||||
| 9.16 (3.84) | 7.06 (2.73) | 8.74 (3.51) | 12.40 (3.43) | ||
| vsae_3 | <.001 | ||||
| 15.12 (7.81) | 12.02 (6.33) | 13.68 (5.42) | 21.24 (9.38) | ||
| vsae_5 | <.001 | ||||
| 21.48 (13.32) | 15.03 (7.92) | 17.69 (8.00) | 33.92 (15.78) | ||
| vsae_9 | <.001 | ||||
| 39.55 (32.62) | 25.56 (28.42) | 32.12 (23.40) | 64.14 (34.59) | ||
| vsae_13 | <.001 | ||||
| 59.49 (47.96) | 37.11 (35.54) | 56.17 (47.91) | 88.69 (46.34) |
<IP_ADDRESS> Using the LONG formatted dataset
Each person’s data is stored on multiple lines, one for each time point.
FOR ALL DATA!
<- data_long %>%
data_sum_all ::group_by(sicdegp, age2) %>% # specify the groups
dplyr::summarise(vsae_n = n(), # count of valid scores
dplyrvsae_mean = mean(vsae), # mean score
vsae_sd = sd(vsae), # standard deviation of scores
vsae_sem = vsae_sd / sqrt(vsae_n)) # stadard error for the mean of scores
data_sum_all
# A tibble: 15 × 6
# Groups: sicdegp [3]
sicdegp age2 vsae_n vsae_mean vsae_sd vsae_sem
<fct> <dbl> <int> <dbl> <dbl> <dbl>
1 low 0 49 7.06 2.73 0.389
2 low 1 46 12.0 6.33 0.934
3 low 3 29 15.0 7.92 1.47
4 low 7 36 25.6 28.4 4.74
5 low 11 28 37.1 35.5 6.72
6 med 0 65 8.74 3.51 0.436
7 med 1 62 13.7 5.42 0.688
8 med 3 36 17.7 8.00 1.33
9 med 7 48 32.1 23.4 3.38
10 med 11 40 56.2 47.9 7.58
11 high 0 40 12.4 3.43 0.542
12 high 1 38 21.2 9.38 1.52
13 high 3 26 33.9 15.8 3.09
14 high 7 35 64.1 34.6 5.85
15 high 11 26 88.7 46.3 9.09
FOR COMPLETE CASES ONLY!!!
<- data_long %>%
data_sum_cc ::group_by(childid) %>% # group-by child
dplyr::mutate(child_vsae_n = n()) %>% # count the number of valid VSAE scores
dplyr::filter(child_vsae_n == 5) %>% # restrict to only thoes children with 5 valid scores
dplyr::group_by(sicdegp, age2) %>% # specify the groups
dplyr::summarise(vsae_n = n(), # count of valid scores
dplyrvsae_mean = mean(vsae), # mean score
vsae_sd = sd(vsae), # standard deviation of scores
vsae_sem = vsae_sd / sqrt(vsae_n)) # stadard error for the mean of scores
data_sum_cc
# A tibble: 15 × 6
# Groups: sicdegp [3]
sicdegp age2 vsae_n vsae_mean vsae_sd vsae_sem
<fct> <dbl> <int> <dbl> <dbl> <dbl>
1 low 0 10 6.6 2.88 0.909
2 low 1 10 8 2.11 0.667
3 low 3 10 12.5 5.54 1.75
4 low 7 10 12.3 8.07 2.55
5 low 11 10 22.4 24.4 7.73
6 med 0 17 9.47 4.12 1.00
7 med 1 17 14.3 6.08 1.47
8 med 3 17 20.2 8.57 2.08
9 med 7 17 34.4 22.5 5.47
10 med 11 17 57.8 50.3 12.2
11 high 0 14 12.5 4.09 1.09
12 high 1 14 19.5 6.15 1.64
13 high 3 14 33.9 18.5 4.94
14 high 7 14 56.9 23.5 6.29
15 high 11 14 80.9 44.4 11.9
11.2.5 Person Profile Plots
Use the data in LONG format
<IP_ADDRESS> Unequally Spaced
%>%
data_long ::mutate(sicdegp = fct_recode(sicdegp,
dplyr"Low Communication" = "low",
"Medium Communication" = "med",
"High Communication" = "high")) %>%
ggplot(aes(x = age,
y = vsae)) +
geom_point(size = 0.75) +
geom_line(aes(group = childid),
alpha = .5,
size = 1) +
facet_grid(. ~ sicdegp) +
theme_bw() +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13)) +
labs(x = "Age of Child, Years",
y = "Vineland Socialization Age Equivalent",
color = "Sequenced Inventory of Communication Development") +
geom_smooth(aes(color = "Flexible"),
method = "loess",
se = FALSE,) +
geom_smooth(aes(color = "Linear"),
method = "lm",
se = FALSE) +
scale_color_manual(name = "Smoother Type: ",
values = c("Flexible" = "blue",
"Linear" = "red")) +
theme(legend.position = "bottom",
legend.key.width = unit(2, "cm"))
<IP_ADDRESS> Equally Spaced
%>%
data_long ::mutate(sicdegp = fct_recode(sicdegp,
dplyr"Low Communication" = "low",
"Medium Communication" = "med",
"High Communication" = "high")) %>%
ggplot(aes(x = obs,
y = vsae)) +
geom_point(size = 0.75) +
geom_line(aes(group = childid),
alpha = .5,
size = 1) +
facet_grid(. ~ sicdegp) +
theme_bw() +
labs(x = "Observation Number",
y = "Vineland Socialization Age Equivalent",
color = "Sequenced Inventory of Communication Development") +
geom_smooth(aes(color = "Flexible"),
method = "loess",
se = FALSE,) +
geom_smooth(aes(color = "Linear"),
method = "lm",
se = FALSE) +
scale_color_manual(name = "Smoother Type: ",
values = c("Flexible" = "blue",
"Linear" = "red")) +
theme(legend.position = "bottom",
legend.key.width = unit(2, "cm"))
11.2.6 Side-by-side Boxplots
%>%
data_long ggplot(aes(x = sicdegp,
y = vsae,
fill = sicdegp)) +
geom_boxplot() +
theme_bw() +
facet_grid(. ~ age,
labeller = "label_both") +
theme(legend.position = "none") +
labs(x = "Initial Language Development\nSequenced Inventory of Communication Development (SICD) at Age 2",
y = "Parent-Reported Measure of Socialization\nVineland Socialization Age Equivalent")
11.2.7 Means Plots
<IP_ADDRESS> Default stat_summary
It is nice that the stat_summary()
layer computes the standard error for the mean for you using the data in LONG format
%>%
data_long ggplot(aes(x = age,
y = vsae,
color = sicdegp)) +
stat_summary() + # default: points at MEAN and extend vertically 1 standard error for the mean
stat_summary(fun = "mean", # plot the means
geom = "line") + # ...and connect with lines
theme_bw() +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13))
%>%
data_long ggplot(aes(x = obs,
y = vsae,
color = sicdegp)) +
stat_summary() + # default: points at MEAN and extend vertically 1 standard error for the mean
stat_summary(fun = "mean", # plot the means
geom = "line") + # ...and connect with lines
theme_bw()
<IP_ADDRESS> Manually Summarized
%>%
data_sum_all ::mutate(age = age2 + 2) %>%
dplyrggplot() +
aes(x = age,
y = vsae_mean,
color = sicdegp) +
geom_errorbar(aes(ymin = vsae_mean - vsae_sem, # mean +/- one SE for the mean
ymax = vsae_mean + vsae_sem),
width = .25) +
geom_point(aes(shape = sicdegp),
size = 3) +
geom_line(aes(group = sicdegp)) +
theme_bw() +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13)) +
labs(x = "Age of Child, Years",
y = "Vineland Socialization Age Equivalent",
color = "Sequenced Inventory of Communication Development:",
shape = "Sequenced Inventory of Communication Development:",
linetype = "Sequenced Inventory of Communication Development:") +
theme(legend.position = "bottom",
legend.key.width = unit(2, "cm"))
11.3 Model 1: Full model with ‘loaded’ mean structure
Take top-down approach: Quadratic regression model, describing vsae
as a function of age2
Each child has a unique parabolic trajectory over time, with coefficients that vary randomly around fixed-effects defining a mean growth curve for each SICD group. Since there is no
age
= 0 in our data, we will use theage2
variables, which isage
-2, so that intercept has meaning (mean at baseline age).
I()
denotes an internal calculated variable
Fixed-effects
I(age-2)
ageI((age-2)^2)
quadratic age or age-squared,sicdegp
SICD group (reference group = low)- SICD group x age/age-squared interactions
Random-effects
- intercept
- age and age-squared
11.3.1 Fit the Model
<- lmerTest::lmer(vsae ~ I(age-2)*sicdegp + I(I(age-2)^2)*sicdegp +
fit_lmer_1_re I(age-2) + I((age-2)^2) | childid),
(data = data_long,
REML = TRUE,
control = lmerControl(optimizer = "optimx", # get it to converge
calc.derivs = FALSE,
optCtrl = list(method = "nlminb",
starttests = FALSE,
kkt = FALSE)))
11.3.2 Table of Prameter Estimates
::knitreg(fit_lmer_1_re,
texregcaption = "MLM: Full Model",
caption.above = TRUE,
single.row = TRUE)
| Model 1 | |
|---|---|
| (Intercept) | 8.40 (0.75)*** |
| age - 2 | 2.28 (0.74)** |
| sicdegpmed | 1.26 (0.99) |
| sicdegphigh | 5.39 (1.11)*** |
| I(age - 2)^2 | 0.07 (0.08) |
| age - 2:sicdegpmed | 0.43 (0.98) |
| age - 2:sicdegphigh | 3.31 (1.08)** |
| sicdegpmed:I(age - 2)^2 | -0.00 (0.11) |
| sicdegphigh:I(age - 2)^2 | 0.14 (0.12) |
| AIC | 4586.50 |
| BIC | 4656.96 |
| Log Likelihood | -2277.25 |
| Num. obs. | 604 |
| Num. groups: childid | 155 |
| Var: childid (Intercept) | 1.27 |
| Var: childid I(age - 2) | 14.00 |
| Var: childid I((age - 2)^2) | 0.16 |
| Cov: childid (Intercept) I(age - 2) | -0.13 |
| Cov: childid (Intercept) I((age - 2)^2) | 0.41 |
| Cov: childid I(age - 2) I((age - 2)^2) | -0.61 |
| Var: Residual | 37.20 |
| ***p < 0.001; **p < 0.01; *p < 0.05 |
11.3.3 Plot of the Estimated Marginal Means
Note: the \(x-axis\) is the age
variable back on its original scale
::interact_plot(model = fit_lmer_1_re, # model name
interactionspred = age, # x-axis variable (must be continuous)
modx = sicdegp, # seperate lines
interval = TRUE) + # shaded bands
scale_x_continuous(breaks = c(2, 3, 5, 9, 13))
11.4 Model 2A: Drop Random Intercepts
Note: There seems to be relatively little variation in baseline measurements of VSAE across individuals in the same SICD group, so the variation at age 2 can be attributed to random error, rather than between-subject variation.
This indicates we may want to try removing the random intercepts, while retaining the same fixed- and other random-effects.
This new model implies that children have common initial VSAE value at age 2, given their SICD group.
11.4.1 Fit the Model
<- lmerTest::lmer(vsae ~ I(age-2)*sicdegp + I((age-2)^2)*sicdegp +
fit_lmer_2a_re 0 + I(age-2) + I((age-2)^2) | childid),
(data = data_long,
REML = TRUE)
11.4.2 Assess the Signifcance
anova(fit_lmer_1_re, fit_lmer_2a_re, refit = FALSE)
Data: data_long
Models:
fit_lmer_2a_re: vsae ~ I(age - 2) * sicdegp + I((age - 2)^2) * sicdegp + (0 + I(age - 2) + I((age - 2)^2) | childid)
fit_lmer_1_re: vsae ~ I(age - 2) * sicdegp + I(I(age - 2)^2) * sicdegp + (I(age - 2) + I((age - 2)^2) | childid)
npar AIC BIC logLik deviance Chisq Df Pr(>Chisq)
fit_lmer_2a_re 13 4587.0 4644.2 -2280.5 4561.0
fit_lmer_1_re 16 4586.5 4657.0 -2277.2 4554.5 6.4643 3 0.09108 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The more complicated model (including random intercepts) does NOT fit better, thus the random intercepts may be removed from the model. Model 2a is better than Model 1
11.5 Model 2B: Drop Random Quadratic Slope
We should formally test the necessity of quadratic age random-effect.
Comparison of nested models with REML-based LRT using a 50:50 mixture χ2-distribution with 1 and 2 df Difference of 2 covariance parameters
11.5.1 Fit the Model
<- lmerTest::lmer(vsae ~ I(age-2)*sicdegp + I((age-2)^2)*sicdegp +
fit_lmer_2b_re 0 + I(age-2) | childid),
(REML = TRUE,
data = data_long)
11.5.2 Assess the Signifcance
anova(fit_lmer_2a_re, fit_lmer_2b_re, refit = FALSE)
Data: data_long
Models:
fit_lmer_2b_re: vsae ~ I(age - 2) * sicdegp + I((age - 2)^2) * sicdegp + (0 + I(age - 2) | childid)
fit_lmer_2a_re: vsae ~ I(age - 2) * sicdegp + I((age - 2)^2) * sicdegp + (0 + I(age - 2) + I((age - 2)^2) | childid)
npar AIC BIC logLik deviance Chisq Df Pr(>Chisq)
fit_lmer_2b_re 11 4669.3 4717.7 -2323.7 4647.3
fit_lmer_2a_re 13 4587.0 4644.2 -2280.5 4561.0 86.34 2 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The more complicated model (including random intercepts) DOES fit better, thus the random slopes for both the linear AND the quadratic effect of age should be retained in the model. Model 2a is better than model 2b
11.6 Model 3: Drop Quadratic Time Fixed Effect
Fit the previous ‘best’ model via ML, not REML to compare nested model that differe in terms of fixed effects only
11.6.1 Fit the Models
<- lmerTest::lmer(vsae ~ I(age-2)*sicdegp + I((age-2)^2)*sicdegp +
fit_lmer_2a_ml 0 + I(age-2) + I((age-2)^2) | childid),
(data = data_long,
REML = FALSE)
<- lmerTest::lmer(vsae ~ I(age-2)*sicdegp +
fit_lmer_3_ml 0 + I(age-2) + I((age-2)^2) | childid),
(data = data_long,
REML = FALSE)
11.6.2 Assess the Signifcance
anova(fit_lmer_2a_ml, fit_lmer_3_ml)
Data: data_long
Models:
fit_lmer_3_ml: vsae ~ I(age - 2) * sicdegp + (0 + I(age - 2) + I((age - 2)^2) | childid)
fit_lmer_2a_ml: vsae ~ I(age - 2) * sicdegp + I((age - 2)^2) * sicdegp + (0 + I(age - 2) + I((age - 2)^2) | childid)
npar AIC BIC logLik deviance Chisq Df Pr(>Chisq)
fit_lmer_3_ml 10 4584.4 4628.5 -2282.2 4564.4
fit_lmer_2a_ml 13 4582.1 4639.3 -2278.0 4556.1 8.3704 3 0.03895 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The more complicated model (including fixed interaction between quadratic time and SICD group) DOES fit better, thus the higher level interaction should be retained in the model. Model 2a is better than model 3.
11.7 Final Model
11.7.1 Table of Parameter Esitmates
::knitreg(fit_lmer_2a_re,
texregcaption = "MLM: Final Model",
caption.above = TRUE,
single.row = TRUE,
digits = 4)
| Model 1 | |
|---|---|
| (Intercept) | 8.4085 (0.7370)*** |
| age - 2 | 2.2694 (0.7399)** |
| sicdegpmed | 1.2644 (0.9741) |
| sicdegphigh | 5.3646 (1.0907)*** |
| (age - 2)^2 | 0.0721 (0.0790) |
| age - 2:sicdegpmed | 0.4290 (0.9808) |
| age - 2:sicdegphigh | 3.3259 (1.0760)** |
| sicdegpmed:(age - 2)^2 | 0.0007 (0.1038) |
| sicdegphigh:(age - 2)^2 | 0.1335 (0.1138) |
| AIC | 4586.9689 |
| BIC | 4644.2154 |
| Log Likelihood | -2280.4845 |
| Num. obs. | 604 |
| Num. groups: childid | 155 |
| Var: childid I(age - 2) | 13.9915 |
| Var: childid I((age - 2)^2) | 0.1338 |
| Cov: childid I(age - 2) I((age - 2)^2) | -0.4436 |
| Var: Residual | 37.9869 |
| ***p < 0.001; **p < 0.01; *p < 0.05 |
11.7.2 Interpretation of Fixed Effects
<IP_ADDRESS> Reference Group: low
SICD group
\(\gamma_{0}\) = 8.408 is the estimated marginal mean VSAE score for children in the
low
SICD, at 2 years of age\(\gamma_{a}\) = 2.269 and \(\gamma_{a^2}\) = 0.072 are the fixed effects for age and age-squared on VSAE for children in the
low
SICD group (change over time)
Thus the equation for the estimated marginal mean VASE trajectory for the low
SICD group is:
\[ \begin{align*} VASE =& \gamma_{0} + \gamma_{a} (AGE - 2) + \gamma_{a^2} (AGE - 2)^2 \\ =& 8.408 + 2.269 (AGE - 2) + 0.072 (AGE - 2)^2 \\ \end{align*} \]
<IP_ADDRESS> First Comparison Group: medium
SICD group
\(\gamma_{med}\) = 1.264 is the DIFFERENCE in the estimated marginal mean VSAE score for children in the
medium
vs. thelow
SICD, at 2 years of age\(\gamma_{med:\;a}\) = 0.429 and \(\gamma_{med:\;a^2}\) = 0.001 are the DIFFERENCE in the fixed effects for age and age-squared on VSAE for children in the
medium
vs. thelow
SICD group
Thus the equation for the estimated marginal mean VASE trajectory for the medium
SICD group is:
\[ \begin{align*} VASE =& (\gamma_{0} + \gamma_{med}) + (\gamma_{a} + \gamma_{med:\;a}) (AGE - 2) + (\gamma_{a^2} + \gamma_{med:\;a^2})(AGE - 2)^2 \\ =& (8.408 + 1.264) + (2.269 + 0.429) (AGE - 2) + (0.072 + 0.001)(AGE - 2)^2 \\ =& 9.673 + 2.698 (AGE - 2) + 0.073 (AGE - 2)^2 \\ \end{align*} \]
<IP_ADDRESS> Second Comparison Group: high
SICD group
\(\gamma_{hi}\) = 5.365 is the DIFFERENCE in the estimated marginal mean VSAE score for children in the
high
vs. thelow
SICD, at 2 years of age\(\gamma_{hi:\;a}\) = 3.326 and \(\gamma_{hi:\;a^2}\) = 0.133 are the DIFFERENCE in the fixed effects for age and age-squared on VSAE for children in the
high
vs. thelow
SICD group
Thus the equation for the estimated marginal mean VASE trajectory for the high
SICD group is:
\[ \begin{align*} VASE =& (\gamma_{0} + \gamma_{hi}) + (\gamma_{a} + \gamma_{hi:\;a}) (AGE - 2) + (\gamma_{a^2} + \gamma_{hi:\;a^2})(AGE - 2)^2 \\ =& (8.408 + 5.365) + (2.269 + 3.326) (AGE - 2) + (0.072 + 0.133)(AGE - 2)^2 \\ =& 13.773 + 5.595 (AGE - 2) + 0.206 (AGE - 2)^2 \\ \end{align*} \]
11.7.3 Interpretation of Random Effects
::VarCorr(fit_lmer_2a_re)%>%
lme4print(comp = c("Variance", "Std.Dev"),
digits = 3)
Groups Name Variance Std.Dev. Corr
childid I(age - 2) 13.991 3.741
I((age - 2)^2) 0.134 0.366 -0.32
Residual 37.987 6.163
Here a group of observations = a CHILD
<IP_ADDRESS> Residual Varaince
Within-child-variance
- \(e_{ti}\) the residuals associated with observation at time \(t\) on child \(i\)
\[ \sigma^2 = \sigma^2_e = VAR[e_{ti}] = 37.987 \]
<IP_ADDRESS> 2 Variance Components
Between-children slope variances
Random LINEAR effect of age variance
- \(u_{1i}\) the DIFFERENCE between child \(i\)’s specific linear component for age and the fixed linear component for age, given their SICD group
\[ \tau_{11} = \sigma^2_{u1} = VAR[u_{1i}] = 13.99 \]
Random QUADRATIC effect of age variance
- \(u_{2i}\) the DIFFERENCE between child \(i\)’s specific quadratic component for age and the fixed quadratic component for age, given their SICD group
\[ \tau_{22} = \sigma^2_{u2} = VAR[u_{2i}] = 0.13 \]
11.7.4 Assumption Checking
The residuals are:
Assumed to be normally, independently, and identically distributed (conditional on other random-effects)
Assumed independent of random-effects
\[ e_{ti} \sim N(0, \sigma^2) \]
<IP_ADDRESS> The ggResidpanel
package
::resid_panel(fit_lmer_2a_re) # default = pearson residuals ggResidpanel
<IP_ADDRESS> Manually with HLMdiag
and ggplot2
%>%
fit_lmer_2a_re ::hlm_augment(level = 1,
HLMdiaginclude.ls = FALSE,
standardized = TRUE) %>%
ggplot(aes(x = .resid)) +
geom_histogram(bins = 40,
color = "gray20",
alpha = .2) +
theme_bw() +
labs(main = "Histogram")
%>%
fit_lmer_2a_re ranef() %>%
data.frame() %>%
ggplot(aes(sample = condval)) +
geom_qq() +
geom_qq_line() +
facet_wrap(~ term, scale = "free_y")+
theme_bw() +
labs(main = "Random Slopes")
%>%
fit_lmer_2a_re ::hlm_augment(level = 1,
HLMdiaginclude.ls = FALSE,
standardized = TRUE) %>%
ggplot(aes(x = .fitted,
y = .resid)) +
geom_hline(yintercept = 0, color = "red") +
geom_point() +
geom_smooth() +
theme_bw() +
labs(main = "Residual Plot")
%>%
fit_lmer_2a_re ::hlm_augment(level = 1,
HLMdiaginclude.ls = FALSE,
standardized = TRUE) %>%
ggplot(aes(sample = .resid)) +
geom_qq()+
stat_qq_line() +
theme_bw()
11.7.5 Plot of the Estimated Marginal Means
<IP_ADDRESS> Quick and Default
Note: the \(x-axis\) is the age
variable, back on its original scale
::interact_plot(model = fit_lmer_2a_re, # model name
interactionspred = age, # x-axis variable (must be continuous)
modx = sicdegp, # seperate lines
interval = TRUE) + # shaded bands
scale_x_continuous(breaks = c(2, 3, 5, 9, 13))
::interact_plot(model = fit_lmer_2a_re, # model name
interactionspred = age, # x-axis variable (must be continuous)
modx = sicdegp, # separate lines
interval = TRUE,
x.label = "Age of Child, in years",
y.label = "Estimated Marginal Mean\nVineland Socialization Age Equivalent",
legend.main = "Initial Communication (SICD)",
modx.labels = c("Low", "Medium", "High"),
colors = c("black", "black", "black")) +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13)) +
scale_y_continuous(breaks = seq(from = 0, to = 120, by = 20)) +
theme_bw() +
theme(legend.position = c(0, 1),
legend.justification = c(-0.1, 1.1),
legend.background = element_rect(color = "black"),
legend.key.width = unit(2, "cm"))
<IP_ADDRESS> More Customized - Color
This version would look better on a poster or in a slide presentation.
::Effect(focal.predictors = c("age","sicdegp"), # variables involved in interactions
effectsmod = fit_lmer_2a_re,
xlevels = list(age2 = seq(from = 2, to = 13, by = .1))) %>% # add more values to smooth out the prediction lines and ribbons
data.frame() %>%
::mutate(sicdegp = factor(sicdegp,
dplyrlevels = c("high", "med", "low"),
labels = c("High", "Medium", "Low"))) %>%
ggplot(aes(x = age,
y = fit,
group = sicdegp)) +
geom_ribbon(aes(ymin = lower, # 95% Confidence Intervals
ymax = upper,
fill = sicdegp),
alpha = .3) +
geom_line(aes(linetype = sicdegp,
color = sicdegp),
size = 1) +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13)) + # mark values that were actually measured
scale_y_continuous(breaks = seq(from = 0, to = 120, by = 20)) +
scale_linetype_manual(values = c("solid", "longdash", "dotted")) +
theme_bw() +
theme(legend.position = c(0, 1),
legend.justification = c(-0.1, 1.1),
legend.background = element_rect(color = "black"),
legend.key.width = unit(2.5, "cm")) +
labs(x = "Age of Child, in years",
y = "Estimated Marginal Mean\nVineland Socialization Age Equivalent",
linetype = "Initial Communication (SICD)",
fill = "Initial Communication (SICD)",
color = "Initial Communication (SICD)")
<IP_ADDRESS> More Customized - Black and White
This version would be better for a publication.
::Effect(focal.predictors = c("age","sicdegp"),
effectsmod = fit_lmer_2a_re,
xlevels = list(age2 = seq(from = 2, to = 13, by = .1))) %>%
data.frame() %>%
::mutate(sicdegp = factor(sicdegp,
dplyrlevels = c("high", "med", "low"),
labels = c("High", "Medium", "Low"))) %>%
ggplot(aes(x = age,
y = fit,
group = sicdegp)) +
geom_ribbon(aes(ymin = lower,
ymax = upper,
fill = sicdegp),
alpha = .4) +
geom_line(aes(linetype = sicdegp),
size = .7) +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13)) +
scale_y_continuous(breaks = seq(from = 0, to = 120, by = 20)) +
scale_linetype_manual(values = c("solid", "longdash", "dotted")) +
scale_fill_manual(values = c("gray10", "gray40", "gray60")) +
theme_bw() +
theme(legend.position = c(0, 1),
legend.justification = c(-0.1, 1.1),
legend.background = element_rect(color = "black"),
legend.key.width = unit(2, "cm")) +
labs(x = "Age of Child, in years",
y = "Estimated Marginal Mean\nVineland Socialization Age Equivalent",
linetype = "Initial Communication (SICD)",
fill = "Initial Communication (SICD)",
color = "Initial Communication (SICD)")
11.7.6 Post Hoc Compairisons
%>%
fit_lmer_2a_re ::emmeans(pairwise ~ sicdegp,
emmeansat = list(age = 13))
$emmeans
sicdegp emmean SE df lower.CL upper.CL
low 42.1 7.97 135 26.3 57.9
med 48.2 6.90 131 34.5 61.8
high 100.2 8.45 131 83.5 116.9
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
low - med -6.07 10.5 133 -0.575 0.8335
low - high -58.10 11.6 133 -5.002 <.0001
med - high -52.03 10.9 131 -4.772 <.0001
Degrees-of-freedom method: kenward-roger
P value adjustment: tukey method for comparing a family of 3 estimates
<- VarCorr(fit_lmer_2a_re) %>%
totalSD data.frame() %>%
::summarise(tot_var = sum(vcov)) %>%
dplyr::pull(tot_var) %>%
dplyrsqrt()
totalSD
[1] 7.188084
%>%
fit_lmer_2a_re ::emmeans(~ sicdegp,
emmeansat = list(age = 13)) %>%
::eff_size(sigma = totalSD, # which SD to divide by???
emmeansedf = 50) # df
contrast effect.size SE df lower.CL upper.CL
low - med -0.844 1.47 131 -3.75 2.06
low - high -8.083 1.81 131 -11.66 -4.51
med - high -7.239 1.68 131 -10.56 -3.91
sigma used for effect sizes: 7.188
Degrees-of-freedom method: inherited from kenward-roger when re-gridding
Confidence level used: 0.95
11.7.7 Blups vs. Fixed Effects
BLUP = Best Linear Unbiased Predictor
A BLUP is the specific prediction for an individual supject, showin by black lines below. This includes the fixed effects as well as the specific random effects for a given individual.
Comparatively, the blue lines below display the predictions for fixed effects only.
%>%
data_long ::mutate(sicdegp = fct_recode(sicdegp,
dplyr"Low Communication" = "low",
"Medium Communication" = "med",
"High Communication" = "high")) %>%
::mutate(pred_fixed = predict(fit_lmer_2a_re, re.form = NA)) %>% # fixed effects only
dplyr::mutate(pred_wrand = predict(fit_lmer_2a_re)) %>% # fixed and random effects together
dplyrggplot(aes(x = age,
y = vsae)) +
geom_line(aes(y = pred_wrand, # BLUP = fixed and random effects together
group = childid,
color = "BLUP",
size = "BLUP")) +
geom_line(aes(y = pred_fixed, # fixed effects only
group = sicdegp,
color = "Fixed",
size = "Fixed")) +
scale_color_manual(name = "Model: ",
values = c("BLUP" = "black",
"Fixed" = "blue")) +
scale_size_manual(name = "Model: ",
values = c("BLUP" = .5,
"Fixed" = 1.5)) +
facet_grid(. ~ sicdegp) +
theme_bw() +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13)) +
labs(x = "Age, in years",
y = "Estimated Marginal Mean\nVineland Socialization Age Equivalent") +
theme(legend.position = "bottom",
legend.key.width = unit(1.5, "cm"))
%>%
data_long ::mutate(pred_fixed = predict(fit_lmer_2a_re, re.form = NA)) %>%
dplyr::mutate(pred_wrand = predict(fit_lmer_2a_re)) %>%
dplyr::filter(childid %in% sample(levels(data_long$childid), 25)) %>% # 25 randomly sampled children
dplyrggplot(aes(x = age,
y = vsae)) +
geom_point(aes(color = sicdegp),
size = 3) +
geom_line(aes(y = pred_wrand,
linetype = "BLUP",
size = "BLUP"),
color = "black") +
geom_line(aes(y = pred_fixed,
color = sicdegp,
linetype = "Fixed",
size = "Fixed")) +
scale_linetype_manual(name = "Model: ",
values = c("BLUP" = "longdash",
"Fixed" = "solid")) +
scale_size_manual(name = "Model: ",
values = c("BLUP" = .5,
"Fixed" = 1)) +
facet_wrap(. ~ childid, labeller = "label_both") +
theme_bw() +
scale_x_continuous(breaks = c(2, 3, 5, 9, 13)) +
theme(legend.position = "bottom",
legend.key.width = unit(1.5, "cm")) +
labs(x = "Age, in years",
y = "Estimated Marginal Mean\nVineland Socialization Age Equivalent",
color = "Communication:")


WELCOME TO RAMSAY'S
☰
×
Home
About Us
Reservations
Meetings and Events
Online Food Order
Entertainment
Contact Us
Food Menu
Login


Master de II. ULL. 1er cuatrimestre. 2020/2021
Create and parse HTTP Content-Disposition
header
1
$ npm install content-disposition
1
var contentDisposition = require('content-disposition')
Create an attachment Content-Disposition
header value using the given file name,
if supplied. The filename
is optional and if no file name is desired, but you
want to specify options
, set filename
to undefined
.
1
res.setHeader('Content-Disposition', contentDisposition('∫ maths.pdf'))
note HTTP headers are of the ISO-8859-1 character set. If you are writing this
header through a means different from setHeader
in Node.js, you’ll want to specify
the 'binary'
encoding in Node.js.
contentDisposition
accepts these properties in the options object.
If the filename
option is outside ISO-8859-1, then the file name is actually
stored in a supplemental field for clients that support Unicode file names and
a ISO-8859-1 version of the file name is automatically generated.
This specifies the ISO-8859-1 file name to override the automatic generation or
disables the generation all together, defaults to true
.
false
will disable including a ISO-8859-1 file name and only include the
Unicode version (unless the file name is already ISO-8859-1).true
will enable automatic generation if the file name is outside ISO-8859-1.If the filename
option is ISO-8859-1 and this option is specified and has a
different value, then the filename
option is encoded in the extended field
and this set as the fallback field, even though they are both ISO-8859-1.
Specifies the disposition type, defaults to "attachment"
. This can also be
"inline"
, or any other value (all values except inline are treated like
attachment
, but can convey additional information if both parties agree to
it). The type is normalized to lower-case.
1
var disposition = contentDisposition.parse('attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt')
Parse a Content-Disposition
header string. This automatically handles extended
(“Unicode”) parameters by decoding them and providing them under the standard
parameter name. This will return an object with the following properties (examples
are shown for the string 'attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt'
):
type
: The disposition type (always lower case). Example: 'attachment'
parameters
: An object of the parameters in the disposition (name of parameter
always lower case and extended versions replace non-extended versions). Example:
{filename: "€ rates.txt"}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var contentDisposition = require('content-disposition')
var destroy = require('destroy')
var fs = require('fs')
var http = require('http')
var onFinished = require('on-finished')
var filePath = '/path/to/public/plans.pdf'
http.createServer(function onRequest (req, res) {
// set headers
res.setHeader('Content-Type', 'application/pdf')
res.setHeader('Content-Disposition', contentDisposition(filePath))
// send file
var stream = fs.createReadStream(filePath)
stream.pipe(res)
onFinished(res, function () {
destroy(stream)
})
})
1
$ npm test


About
Originally, Phonon has been created for building
hybrid apps with Apache Cordova by using web technologies
such as HTML, CSS and JavaScript. Of course, there are many frameworks well known,
but Phonon gives an intuitive and amuzing way of building apps.
For example, the app's workflow can be defined with page events.
When the user access on the page-X for the first time,
the onCreate callback is called, when the page becomes visible,
the onReady callback is called, etc. You can also prevent the automatic close if an action is required.
v2.0.0 is here!
After more than 250 commits after the latest v1 commit,
we are happy to announce a new experience starting with Phonon 2!
The framework has been completely rewritten to make substantive improvements
and making full use of ECMAScript 6 features (ES6).
Please find the main features below.
Last words
As a 100% free open-source project, developer participation is encouraged, as much or little as possible.
Fork it, open issues and star the project!
If this framework saved your day and you wish to support future developments you may consider sending some funds via PayPal.


Check out the new and improved collage generator at lastcollage.io. Or, let me know why you prefer this version.
Loading...
Follow me on Last.fm


Consider the following C++ program:
expression
What is the output printed to the console when this program is executed?
The output of this program is a sequence of integers separated by at least one whitespace character.
You may need a calculator for this problem.
The correct answer is: hint3


The basic idea of this application is SpeechJammer, which won Ig Novel Acoustics Prize in 2012. And, now SpeechJammer gets video playback and sound effect feature.
I believe "SpeechJammer+" is not only an application to disturb people from talking, but also provide you some fun experiences!!


Jose Mourinho's in-tray: Five key issues at Spurs
by BeSoccerJose Mourinho is back in the Premier League, replacing Mauricio Pochettino as manager of Tottenham.
The Portuguese former Chelsea and Manchester United boss inherits a side packed with quality players but currently 14th in the Premier League table.
AFP looks at five of the most pressing issues in his in-tray.
Win a trophy
Jose Mourinho's first task will be to stop Tottenham's slide. Last season they rubbed shoulders with Manchester City and Liverpool at the top of the league before falling away.
Spurs, and Mourinho, will be desperate to end the club's trophy drought, which has lasted for more than a decade.
They have not won the English top flight since 1961.
As well as his high profile, Mourinho's knack of picking up silverware will have been a huge plus for Spurs chairman Daniel Levy.
For all of Pochettino's success, he was unable to win a trophy for the club in his spell of more than five years in charge.
Defensive issues
Tottenham have struggled defensively this season.
They have kept just one clean sheet in the league and conceded seven in a Champions League game against Bayern Munich.
Mourinho is renowned for his ability to build a side that is defensively rigid and he will have to get to work quickly on drilling his new back line.
Featured links
- BREAKING NEWS: Mourinho replaces Pochettino at Tottenham
- The latest football transfers news and rumours
- Wales, golf, Madrid... in that order
- Luis Enrique returns to Spain national team
Sort out contracts
Pochettino faced a major problem after a summer rebuild failed to materialise and he was left with a clutch of players who had appeared to be on their way out of the club.
Christian Eriksen spoke publicly of his desire to quit Spurs at the end of last season and the Dane, along with Jan Vertonghen and Toby Alderweireld, is in the final year of his contract.
Eriksen, Danny Rose -- also linked with a move away -- and Vertonghen, have performed well below par this season.
Mourinho must find a way to unite the squad quickly and get the best out of his players, some of whom could leave the club as early as January.
Tackle away form
Part of Pochettino's demise was due to poor away form. Spurs have won just three times on the road since January -- all in the Champions League.
That is not good enough for a side of Tottenham's quality.
Convince Harry Kane to stay
While the fate of players such as Eriksen, Vertonghen and Alderweireld may be out of his hands, Mourinho needs to convince Harry Kane that his future remains at Spurs.
The England captain is under contract for plenty of time yet, but he is a superstar of European football and has always said he wants to win things.
Ideally that would be at Spurs, and his chances of that might just have improved, but it would be a surprise if he were not linked with the super clubs this summer, especially if he has a good Euro 2020.
Mourinho needs to do everything he can to make sure Kane, who had a close relationship with Pochettino, still feels content at the club -- and hopefully winning matches will help to convince him.


ORG_0000089 - pre-school disposition
Label
pre-school disposition
Editor preferred label
preschool
Alternate name
nursery school
Sub class of
Definition
The disposition of an organization to provide education for very young children, varying by jurisdiction, but often in the age range 2-5
Definition source
Example
La Petite Academy is a chain of commercial preschools operating in the United States
Term editor
Michael Conlon https://orcid.org/0000-0002-1304-8447


InstaTech Server Change Log
Version 1.8.4
- Clients updated.
- Changed scripting command behavior.
- Modified error log path.
- Added separate override folder for customizing the remote control.
Version 1.8.3
- Modified save procedures to fix computer group disappearing.
- Simplified authentication token model. Only last 10 are saved now, instead of last 30 days.
Version 1.8.2
- Fixed custom image persistence through updates.
Version 1.8.1
- Added CSS and JS overrides.
- Added loading wheel when performing quick connect from Computer Hub.
Version 1.8.0
- Added a notification system to the tech portal.
- Removed SSL requirement. A warning will now display on the clients and the tech portal notification menu.
- Added server version checking. If an update is available, it will appear in the notification area.
- Updated packages can now be downloaded and installed from the above notification.
Version 1.7.2
- Completed Reference guide.
- Fixed Account Center bug when saving.
- Removed remaining references to licensing.
Version 1.7.1
- Fixed bug with quick connect from Computer Hub.
Version 1.7.0
- Added support for multiple concurrent authentication tokens. This means you can cache your credentials (i.e. check "Remember Me") in multiple browsers. They expire after a month of not being used.
Version 1.6.0
Version 1.5.0
- Open-sourced client and server.
- Removed license and trial checks.
Version 1.4.5
- Removed WebRTC from Electron clients.
- .NET clients now work on Windows 7.
Version 1.4.3
- Changed data transfer process to improve performance on slower connections.
- Increased maximum virtual screen size.
- Minor UI changes.
Version 1.4.2
-
Added persistent sessions for interactive console.
Version 1.4.1
-
Added console command history (up and down arrows).
-
Fixed a bug with escaping quotes in interactive PowerShell console.
Version 1.4.0
-
Added interactive scripting console.
-
Added Last Logged-On User to search matches.
-
Fixed bug with process not exiting when deploying a file.
Version 1.3.1
-
Fixed computer hub scrolling after new search.
-
Fixed a bug that would allow multiple connections from the same account to remain open.
-
Fixed horizontal scrolling on computer hub.
Version 1.3.0


CSS and the Art of Webpage Styling
The devil doesn't wear Prada, the devil uses absolute positioning
Nov 6, 2015
Welcome to this week's technical blog, all about CSS. In theory, I was supposed to select one of four questions to blog about, but, dammit, I learned all this stuff, so you're going to see me show it off. Here are some quick links to further down the page, should you wish to see one specific item: the box model, use of classes vs. IDs, positioning, and inline vs. inline-block.
What is the difference between margin, border, and padding?
Ah, the box model. Defining the simple way to style an HTML element since...(a quick Wikpedia search tells me) December 16, 1996, when the CSS1 recommendation was first adopted by the World Wide Web Consortium. So, let's take a look at this bad boy:
Now, let's break this image down a little. We can immediately see that, moving outward from the actual content of the element, the padding, border, and margin are, essentially, different layers that can be defined to change the look of an element. The padding and the margin are doomed to remain forever invisible, except for the effect that they have on the placement of elements on the page. The border, however, can be made gloriously visible, in any of many styles (solid, dashed, dotted, etc.). Now, let's play with these things a little. We'll start with a basic text-containing div, with visible border, like so:
Now, let's add a visible border, so we can see other changes more easily:
Now, add some padding (say, 10 pixels) to that div:
So, we can see that padding increases the space between the content of the element and the border of the element. In this case, we increased the padding equally around the content with the property "padding: 10px"
Next, and finally, we'll look at what happens when we add a margin to the base div. So, we're going to remove the padding, but add 20px of margin, instead.
So, we see what that has done to our super-fancy text div. The spacing all the way around the border has grown larger - the margin has moved the div down and to the right, and would have moved any elements below or to the right of the div further in that direction, clearing the margin of the element.
So, to make a long story short: (TOO LATE!): the content and the border are the (potentially) visible parts of an element. Padding controls the spacing between the content and the border. Margin controls the spacing between the element and another element. Remember, also, that all three of the properties can be controlled separately for each side of the element.
Return to topWhat are the best practices associated with using classes vs IDs?
So. Now we know a little bit about the box model of the elements. The question remains, then, how do we get the styling onto the elements. Generally, when you define an element in your HTML, you can add class or ID attributes to the tag. Then, instead of adding styling via the general tag, you can choose to use the class or ID to add a more specific styling to certain elements. IDs have a limitation, though: they can only be used once per webpage. This means, however, that if you apply styling to an ID, it is very specific - it will apply only to that single element. So, if you have several elements you wish to style in the same manner, you may wish to employ a class - if you apply styling to a class, any element tagged with that class will obtain that styling. To summarize: if you only need to use it once, throw it in an ID; if you'd like to be able to reuse the styling, make it a class.
Return to topWhat are the differences between relative, absolute, fixed, and static positioning?
Now you've got your elements, and you've got them styled just like you want. How can you make them go where you want them to? Positioning! So, first, a quick listing/definition of the types of positioning, followed by some code examples.
Static
- the most basic of the positioning types, static is the default. An element is positioned wherever the HTML interpreter thinks it should go within the flow of the elements. Any element that doesn't manually receive one of the following positioning types is statically positioned.Relative
- this type of positioning allows you to move an element, defined from a base of the place where the element would have been if statically positioned.Absolute
- the trickiest of the positioning methods, this defines the position relative to the closest manually positioned ancestor element. If there is no ancestor element that has been manually positioned, absolute positioning is relative to the body of the page. As you may have been able to tell by the subtitle to this article, absolute positioning is not my favorite.Fixed
- conceptually, I find this the simplest of the defined positioning types. It sticks the element wherever you tell it to in the viewing window, and the element doesn't stays in one place, regardless of the motion of the page it's on.
Finally, we'll look at a fixed div.
What does it mean to display inline vs using inline block?
And finally, we get to some general display options for your HTML elements.
Block
- block elements take up the full width of their defined space, and do not allow any further elements to the right of them on the page.Inline
- inline elements take up only the specific space that they require, and allow elements to display to the right of them on the page. Importantly, padding and margin only work side-to-side with inline elements - they won't interrupt the general flow of the text.Inline-block
- So, this unholy chimera of a display style allows elements to display to the right of it on the page, but it will allow actual dimensions to be set on the element.
First up, block:
On to inline:
Note that, in this case, the height and width definitions have no effect - the elements take up as much room as they need to inline, and that's it. Note also that the inline element allows the next element to be displayed next to it, on the same line.
 Note also that, like an inline declaration, the elements are allowed to display next to each other on a single line. Return to top
And, that, finally, thankfully, is what I've learned about that in the past week. I hope you've found this entertaining and informative, or at the very least informative. See you next week.


Bacon App
Welcome to Bacon App
Bacon App allows editors to write news stories
and keep track of different world events as they occur.
Logout
Please Login
Business
Sports
Financial
New Story
Write a New Story
Send Story
My Stories
My Stories
Database News
Display News
Home
Business
Sports
Financial
New Story
My Stories
Database News


This is an "alpabetic jigsaw" puzzle. There is exactly one answer starting with each letter of the alphabet, indicated by the index letter/s of the clue. You need to solve the clues AND work out where they go in the grid. If you'd like the 'normal' version of the same puzzle, it is here. Capital letters in parentheses are cross references to other answers.
Clues:
A. Path able to be reconstructed in sequence of letters (8)
B. One might advocate using ferret, sir: rabbits thereby brought up (9)
C. Nostalgic henna inscription shows where (A) CEO is from (7)
D. Healer possessed, lost, at sea (7)
E. Perhaps Leylands, with exhibition including first of Ladas, regularly urge trust (9)
F. Type of distillation of ground canola, first to remove source of smell (10)
G. Fancy wine of good variety (6)
H. Afghans perhaps first to hear new sound (6)
I. Crack, cigs, beer... these things might sink you (8)
J. Benjamin endlessly baffled about second source of smell (7)
K. Reisigning after King captured knight... rotten luck! (9)
L. Haiti annul direction from Europe (10)
M. Oddly mean, Durban's a city now known as (C) (6)
N. Light thrown into corners of mountain country (8)
O. After turning strange hue, actor was actively offered help (8)
P. State of cramp cured with oil (8)
Q. Contest of a couple of pints against love? (6)
R. Dare to change interpretation (4)
S. (T) sports team on-court actions winning bonus (5 5)
T. Maid aunt upset about end of traditional name for (M) state (5 4)
U. Tragic dupe, Charlie was taken in and lost his lunch in the States (9)
V. Whenever Dunkirk mentioned, earlier battle recalled by many (6)
W. Noisily sought one's attention, as a nag will? (8)
X. Brief festivals of sex taking American uncle back (6)
Y. Leninist Leyland, a vehicle for turning first Russian president (7)
Z. Loopback network measurement specific to area (5)


@article{DBLP:journals/csl/JinY21, author = {Guozhe Jin and Zhezhou Yu}, title = {A Korean named entity recognition method using Bi-LSTM-CRF and masked self-attention}, journal = {Comput. Speech Lang.}, volume = {65}, pages = {101134}, year = {2021}, url = {https://doi.org/10.1016/j.csl.2020.101134}, doi = {10.1016/j.csl.2020.101134}, timestamp = {Mon, 19 Oct 2020 15:52:33 +0200}, biburl = {https://dblp.org/rec/journals/csl/JinY21.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }


Mexico arrests judge linked by US to notorious cartel
by The Associated PressMEXICO CITY — Mexican authorities have arrested a judge who the U.S. Treasury Department alleges is linked to Jalisco New Generation, one of the country’s bloodiest drug cartels.
Mexico’s General Council of the Judiciary had presented a complaint to federal prosecutors in May against Isidro Avelar Gutiérrez for purported “asset irregularities and additional income.”
Earlier that month the U.S. Treasury designated and sanctioned him under the Kingpin Act “because of his actions on behalf” of Jalisco New Generation and an allied group known as Los Cuinis.
U.S. authorities alleged Avelar Gutiérrez took bribes from the organizations “in exchange for providing favourable judicial rulings to their senior members.”
The General Council of the Judiciary announced Friday’s arrest in Guadalajara, saying in a statement that he was being taken to Mexico City.
The Associated Press


EVENTS
Event: {{currentEvent.eventName}}
Date: {{currentEvent.eventDate}}
Location: {{currentEvent.eventLocation}}
Update
Delete
Add Event
Search Events


Texas Southern’s uniforms stolen before loss at No. 1 Oregon
by Associated PressAbout everything that could go wrong did for Texas Southern.
The Tigers had their game uniforms stolen before the game Saturday and any hope of an upset over No. 1 Oregon vanished early as Sabrina Ionescu and Ruthy Hebard were their usual dominant selves in leading No. 1 Oregon to a 99-63 rout of the Tigers.
Texas Southern coach Cynthia Cooper-Dyke said the loss of the game uniforms “kind of messed with (the Tigers) a little bit.
“Playing the No. 1 team in the nation and this goes wrong, it takes away from your focus.”
Cooper-Dyke said the jerseys were left in a conference room while the Tigers watched video in the morning.
“We came back to the holding room, they were gone,” she said. “We looked everywhere for them” with the assistance of hotel staff and the Eugene police but the search came up futile and the Tigers played in their practice gear.
The Tigers were down 10-0 before they scored four minutes into the game, and the Oregon lead kept growing, to 24-10 at the end of the first quarter and 52-21 at halftime.
“Oregon is such a phenomenal team you’ve got to be at the top of your game to even be in the game,” Cooper-Dyke said. “We were a little intimidated.
“I was hoping we would be able to step up to the challenge but we got in a hole early (because) we let some off-court things affect our focus.”
Ionescu raised her NCAA record for triple-doubles to 19 with 10 points, 13 rebounds and 14 assists, reaching the standard on a pair of free throws with 5:19 remaining in the third quarter as the crowd of 9,159 in Matthew Knight Arena stood and cheered in acknowledgment of her feat.
Fellow senior Hebard, meanwhile, recorded the 42nd double-double of her career with 31 points and 13 rebounds and like Ionescu didn’t play in the fourth quarter.
Ciani Cryor, a graduate transfer from Rutgers, led Texas Southern (1-1) with 22 points.
Taylor Chavez added 11 points and Lydia Giomi had 10 points and seven rebounds for Oregon (3-0), which shot 53.3 percent from the field.
“When we play good basketball we’re pretty good,” Oregoncoach Kelly Graves said. “I thought at times our core unit played really well.
“I don’t like the way we kind of limped home at the end, which it always makes it seem not quite as good,”
BIG PICTURE
Oregon: The Ducks, who started with an exhibition victory over the U.S. women’s national team, have hardly been tested in winning their first three counting games by an average of 45 points. Oregon has yet to trail in a game, though the schedule gets considerably more difficult with top 20 teams Syracuse and Louisville among the next four opponents.
Texas Southern: The Tigers have all but one of their 11 non-league games away from their home arena, but at least there are no more opponents ranked in the current top 25.
FAMILIAR FOE
While this was the first meeting between Oregon and Texas Southern, TSU coach Cynthia Cooper-Dyke has gone against the Ducks 10 times, winning four, with the previous meetings when she was at Prairie View A&M and USC.
UP NEXT
Oregon play its first road game of the season when the Ducks go to No. 20 Syracuse on Nov 24. The Orange took the Ducks to the wire a year ago in Eugene before Oregon prevailed 75-73.
Texas Southern is at Iowa State on Tuesday, and a new set of uniforms will be shipped there, Cooper-Dyke said.


Click each button on this page, taking care to scroll downward and
through to the end. There are a total of four buttons on the page.
After clicking a button, verify that a popup dialog appears
immediately beside it. Verify that each popup dialog is immediately
visible inside of the browser's viewport.


|
BTK
0.3dev.0
Open-source library to visualize/process biomechanical data
|
Represents a wrench as position, force and moment varying during the time. More...
#include <btkWrench.h>
Public Types | |
| typedef SharedPtr< const Wrench > | ConstPointer |
| typedef SharedPtr< Wrench > | Pointer |
| enum | Type { Standard, Reaction, ConstrainedFromSegment } |
| Public Types inherited from btk::DataObject | |
| typedef SharedPtr< const DataObject > | ConstPointer |
| typedef SharedPtr< DataObject > | Pointer |
| Public Types inherited from btk::Object | |
| typedef SharedPtr< const Object > | ConstPointer |
| typedef SharedPtr< Object > | Pointer |
Public Member Functions | |
| virtual Pointer | Clone (bool onlyDefinition=false) const |
| Point::Pointer | GetComponent (int idx) |
| virtual Point::Pointer | GetForce () const |
| virtual Point::Pointer | GetMoment () const |
| virtual Point::Pointer | GetPosition () const |
| virtual Type | GetType () const |
| virtual void | SetForce (Point::Pointer force) |
| virtual void | SetFrameNumber (int frameNumber) |
| virtual void | SetMoment (Point::Pointer moment) |
| virtual void | SetPosition (Point::Pointer pos) |
| Public Member Functions inherited from btk::DataObject | |
| DataObject * | GetParent () const |
| bool | HasParent () const |
| void | Modified () |
| void | SetParent (DataObject *parent) |
| void | Update () |
| Public Member Functions inherited from btk::Object | |
| unsigned long int | GetTimestamp () const |
Static Public Member Functions | |
| static Pointer | New (const std::string &label="") |
| Creates a smart pointer associated with a Wrench object. More... | |
| static Pointer | New (int frameNumber) |
| Creates a smart pointer associated with a Wrench object. | |
| static Pointer | New (const std::string &label, int frameNumber) |
| Creates a smart pointer associated with a Wrench object. | |
Protected Member Functions | |
| Wrench () | |
| Wrench (const std::string &label) | |
| Wrench (const std::string &label, int frameNumber) | |
| Protected Member Functions inherited from btk::DataObject | |
| DataObject () | |
| DataObject (const DataObject &toCopy) | |
| virtual | ~DataObject () |
| Protected Member Functions inherited from btk::Object | |
| Object () | |
| Object (const Object &toCopy) | |
| virtual | ~Object () |
Protected Attributes | |
| Point::Pointer | mp_Force |
| Point::Pointer | mp_Moment |
| Point::Pointer | mp_Position |
Represents a wrench as position, force and moment varying during the time.
This class is mainly used to have a compact way to store forces and moment acting (or reacting) at a given position. The moment should be expressed at the position as it is defined in general mechanics.
By default, the label used for the forces and the moments corresponds to the given label to the constructor and followed by the suffix ".F" and ".M" respectively.
Smart pointer associated with a const Wrench object.
Smart pointer associated with a Wrench object.
|
protected |
Constructor.
This constructor sets a null pointer for the position, force and moment.
|
protected |
Constructor.
The position's label corresponds to label. The force's label has the string ".F" added to label. The moments's label has the string ".M" added to label.
The Wrench created has no values.
|
protected |
Constructor.
The position's label corresponds to label. The force's label has the string ".F" added to label. The moments's label has the string ".M" added to label.
|
virtual |
Returns a deep copy of the object as a smart pointer.
The input onlyDefinition gives the possibility to clone only the defintion of the wrench and not the values. The number of frames will be set to 1.
Reimplemented in btk::WrenchConstrainedSegmentNode, btk::WrenchConstrainedSegmentOrigin, and btk::WrenchReaction.
| Point::Pointer btk::Wrench::GetComponent | ( | int | idx | ) |
Returns the component with the given index idx. The possible value for the index are:
|
inlinevirtual |
Returns the wrench's force.
Reimplemented in btk::WrenchReaction.
|
inlinevirtual |
Returns the wrench's moment.
Reimplemented in btk::WrenchReaction.
|
inlinevirtual |
Returns the wrench's position.
Reimplemented in btk::WrenchConstrainedSegmentNode, btk::WrenchConstrainedSegmentOrigin, and btk::WrenchReaction.
|
inlinestatic |
Creates a smart pointer associated with a Wrench object.
The Wrench created has no values.
|
virtual |
Sets the wrench's force.
This method doesn't check the number of frame. Use the method Wrench::SetFrameNumber if necessary to set the same number of frame for the position, force and moment.
Reimplemented in btk::WrenchReaction.
|
virtual |
Sets the number of frames. The input frameNumber must be greater than 0.
Reimplemented in btk::WrenchConstrainedSegmentOrigin, and btk::WrenchReaction.
|
virtual |
Sets the wrench's moment.
This method doesn't check the number of frame. Use the method Wrench::SetFrameNumber if necessary to set the same number of frame for the position, force and moment.
Reimplemented in btk::WrenchReaction.
|
virtual |
Sets the wrench's position.
This method doesn't check the number of frame. Use the method Wrench::SetFrameNumber if necessary to set the same number of frame for the position, force and moment.
Reimplemented in btk::WrenchConstrainedSegmentOrigin, and btk::WrenchReaction.


everyday’s a journey
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
find me on:


idea for health mana bars.
Posted: Sat Aug 11, 2007 12:35 am
can we have health mana bars easier to see? way down in the corner kinda sucks sometimes. you dont notice it right away. and durring pvp i have to keep a steady eye on my health/mana and not on what im acctually doing. would we beable to make health mana bars like this?
i know its kinda from WOW but i really like it. i think many players would too. gotta make the bars more transparent, ms paint... lol
i know its kinda from WOW but i really like it. i think many players would too. gotta make the bars more transparent, ms paint... lol


Uses of Interface
org.apache.archiva.redback.rbac.UserAssignment
-
-
Uses of UserAssignment in org.apache.archiva.redback.rbac
Classes in org.apache.archiva.redback.rbac that implement UserAssignment Modifier and Type Class Description class
AbstractUserAssignment
AbstractUserAssignment useful for common logic that implementors can use.Methods in org.apache.archiva.redback.rbac that return UserAssignment Modifier and Type Method Description UserAssignment
RBACManager. createUserAssignment(String principal)
Creates an implementation specificUserAssignment
, or return an existingUserAssignment
, depending on the providedidentifier
parameter.UserAssignment
RBACManager. getUserAssignment(String principal)
UserAssignment
RBACManager. saveUserAssignment(UserAssignment userAssignment)
Method saveUserAssignmentMethods in org.apache.archiva.redback.rbac that return types with arguments of type UserAssignment Modifier and Type Method Description List<? extends UserAssignment>
RBACManager. getAllUserAssignments()
Returns all user assignments definedList<? extends UserAssignment>
RBACManager. getUserAssignmentsForRoles(Collection<String> roleIds)
Returns the assignments for the given rolesMethods in org.apache.archiva.redback.rbac with parameters of type UserAssignment Modifier and Type Method Description static void
RBACObjectAssertions. assertValid(String scope, UserAssignment assignment)
static void
RBACObjectAssertions. assertValid(UserAssignment assignment)
void
AbstractRBACManager. fireRbacUserAssignmentRemoved(UserAssignment userAssignment)
void
AbstractRBACManager. fireRbacUserAssignmentSaved(UserAssignment userAssignment)
Collection<Role>
AbstractRBACManager. getAssignedRoles(UserAssignment ua)
returns only the roles that are assigned, not the roles that might be child roles of the assigned roles.Collection<? extends Role>
RBACManager. getAssignedRoles(UserAssignment userAssignment)
Get the Collection ofRole
objects for this UserAssignment.Collection<Role>
AbstractRBACManager. getEffectivelyAssignedRoles(UserAssignment ua)
void
RBACManagerListener. rbacUserAssignmentRemoved(UserAssignment userAssignment)
void
RBACManagerListener. rbacUserAssignmentSaved(UserAssignment userAssignment)
void
RBACManager. removeUserAssignment(UserAssignment userAssignment)
Method removeAssignmentUserAssignment
RBACManager. saveUserAssignment(UserAssignment userAssignment)
Method saveUserAssignmentboolean
AbstractRBACManager. userAssignmentExists(UserAssignment assignment)
boolean
RBACManager. userAssignmentExists(UserAssignment assignment)
-
Uses of UserAssignment in org.apache.archiva.redback.rbac.cached
Methods in org.apache.archiva.redback.rbac.cached that return UserAssignment Modifier and Type Method Description UserAssignment
CachedRbacManager. createUserAssignment(String principal)
UserAssignment
CachedRbacManager. getUserAssignment(String principal)
UserAssignment
CachedRbacManager. saveUserAssignment(UserAssignment userAssignment)
Methods in org.apache.archiva.redback.rbac.cached that return types with arguments of type UserAssignment Modifier and Type Method Description List<? extends UserAssignment>
CachedRbacManager. getAllUserAssignments()
org.apache.archiva.components.cache.Cache<String,? extends UserAssignment>
CachedRbacManager. getUserAssignmentsCache()
List<? extends UserAssignment>
CachedRbacManager. getUserAssignmentsForRoles(Collection<String> roleIds)
Methods in org.apache.archiva.redback.rbac.cached with parameters of type UserAssignment Modifier and Type Method Description Collection<? extends Role>
CachedRbacManager. getAssignedRoles(UserAssignment userAssignment)
void
CachedRbacManager. rbacUserAssignmentRemoved(UserAssignment userAssignment)
void
CachedRbacManager. rbacUserAssignmentSaved(UserAssignment userAssignment)
void
CachedRbacManager. removeUserAssignment(UserAssignment userAssignment)
UserAssignment
CachedRbacManager. saveUserAssignment(UserAssignment userAssignment)
boolean
CachedRbacManager. userAssignmentExists(UserAssignment assignment)
Method parameters in org.apache.archiva.redback.rbac.cached with type arguments of type UserAssignment Modifier and Type Method Description void
CachedRbacManager. setUserAssignmentsCache(org.apache.archiva.components.cache.Cache<String,? extends UserAssignment> userAssignmentsCache)
-
Uses of UserAssignment in org.apache.archiva.redback.rbac.jpa
Methods in org.apache.archiva.redback.rbac.jpa that return UserAssignment Modifier and Type Method Description UserAssignment
JpaRbacManager. createUserAssignment(String principal)
UserAssignment
JpaRbacManager. getUserAssignment(String principal)
UserAssignment
JpaRbacManager. saveUserAssignment(UserAssignment userAssignment)
Methods in org.apache.archiva.redback.rbac.jpa that return types with arguments of type UserAssignment Modifier and Type Method Description List<? extends UserAssignment>
JpaRbacManager. getAllUserAssignments()
List<? extends UserAssignment>
JpaRbacManager. getUserAssignmentsForRoles(Collection<String> roleIds)
Methods in org.apache.archiva.redback.rbac.jpa with parameters of type UserAssignment Modifier and Type Method Description void
JpaRbacManager. removeUserAssignment(UserAssignment userAssignment)
UserAssignment
JpaRbacManager. saveUserAssignment(UserAssignment userAssignment)
-
Uses of UserAssignment in org.apache.archiva.redback.rbac.jpa.model
Classes in org.apache.archiva.redback.rbac.jpa.model that implement UserAssignment Modifier and Type Class Description class
JpaUserAssignment
Created by Martin Stockhammeron 26.09.16. -
Uses of UserAssignment in org.apache.archiva.redback.rbac.ldap
Methods in org.apache.archiva.redback.rbac.ldap that return UserAssignment Modifier and Type Method Description UserAssignment
LdapRbacManager. createUserAssignment(String username)
UserAssignment
LdapRbacManager. getUserAssignment(String username)
UserAssignment
LdapRbacManager. saveUserAssignment(UserAssignment userAssignment)
Methods in org.apache.archiva.redback.rbac.ldap that return types with arguments of type UserAssignment Modifier and Type Method Description List<UserAssignment>
LdapRbacManager. getAllUserAssignments()
List<? extends UserAssignment>
LdapRbacManager. getUserAssignmentsForRoles(Collection<String> roleIds)
Methods in org.apache.archiva.redback.rbac.ldap with parameters of type UserAssignment Modifier and Type Method Description Collection<Role>
LdapRbacManager. getAssignedRoles(UserAssignment userAssignment)
void
LdapRbacManager. rbacUserAssignmentRemoved(UserAssignment userAssignment)
void
LdapRbacManager. rbacUserAssignmentSaved(UserAssignment userAssignment)
void
LdapRbacManager. removeUserAssignment(UserAssignment userAssignment)
UserAssignment
LdapRbacManager. saveUserAssignment(UserAssignment userAssignment)
boolean
LdapRbacManager. userAssignmentExists(UserAssignment assignment)
-
Uses of UserAssignment in org.apache.archiva.redback.rbac.memory
Classes in org.apache.archiva.redback.rbac.memory that implement UserAssignment Modifier and Type Class Description class
MemoryUserAssignment
MemoryUserAssignmentMethods in org.apache.archiva.redback.rbac.memory that return UserAssignment Modifier and Type Method Description UserAssignment
MemoryRbacManager. createUserAssignment(String principal)
UserAssignment
MemoryRbacManager. getUserAssignment(String principal)
UserAssignment
MemoryRbacManager. saveUserAssignment(UserAssignment userAssignment)
Methods in org.apache.archiva.redback.rbac.memory that return types with arguments of type UserAssignment Modifier and Type Method Description List<UserAssignment>
MemoryRbacManager. getAllUserAssignments()
List<UserAssignment>
MemoryRbacManager. getUserAssignmentsForRoles(Collection<String> roleIds)
Methods in org.apache.archiva.redback.rbac.memory with parameters of type UserAssignment Modifier and Type Method Description void
MemoryRbacManager. removeUserAssignment(UserAssignment userAssignment)
UserAssignment
MemoryRbacManager. saveUserAssignment(UserAssignment userAssignment)
-
Uses of UserAssignment in org.apache.archiva.redback.tests
Methods in org.apache.archiva.redback.tests with parameters of type UserAssignment Modifier and Type Method Description void
RbacManagerEventTracker. rbacUserAssignmentRemoved(UserAssignment userAssignment)
void
RbacManagerEventTracker. rbacUserAssignmentSaved(UserAssignment userAssignment)
-


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import controllers.routes @import play.api.mvc.Request @import play.api.i18n.Messages @import uk.gov.hmrc.play.views.html.{layouts => uiLayouts} @import views.html.helpers.{mainContentHeader, phaseBanner} @import views.html.layouts.govuk_template @import uk.gov.hmrc.http.SessionKeys @(appConfig: config.AppConfig, title: String, mainClass: Option[String] = None, mainDataAttributes: Option[Html] = None, bodyClasses: Option[String] = None, sidebar: Html = HtmlFormat.empty, contentHeader: Option[Html] = None, mainContent: Html = HtmlFormat.empty, serviceInfoContent: Html = HtmlFormat.empty, pageScripts: Option[Html] = None, backEnabled: Boolean, contentBlock: Html = HtmlFormat.empty )(implicit request: Request[_], messages: Messages) @head = { @uiLayouts.headWithTrackingConsent( linkElem = None, headScripts = None) } @headerNavLinks = {


fun run(): Unit
This method runs and updates the GameState. It should be called every frame by the game loop.


First, let us load the data and necessary packages:
load("ames_train.Rdata")
library(MASS)
library(dplyr)
library(ggplot2)
library(BAS)
library(broom)
Make a labeled histogram (with 30 bins) of the ages of the houses in the data set, and describe the distribution.
# type your code for Question 1 here, and Knit
ames_train <- ames_train %>%
mutate(ages = 2019 - Year.Built)
ggplot(ames_train,aes(ages)) +
geom_histogram(aes(y = ..density..), bins = 30, colour = 'black', fill = 'white') +
geom_density(fill="blue", alpha = 0.2) +
labs(x = 'Ages of the houses in years', y = 'Number of houses', title = 'Ages of the houses in the data set (Acutal year - Year built)') +
scale_x_continuous(breaks = seq(0,160,10))
ames_train %>%
summarise(mean = mean(ages), median = median(ages), sd = sd(ages))
## # A tibble: 1 x 3
## mean median sd
## <dbl> <dbl> <dbl>
## 1 46.8 44 29.6
ANSWER: From the histogram above, we can see:
The mantra in real estate is “Location, Location, Location!” Make a graphical display that relates a home price to its neighborhood in Ames, Iowa. Which summary statistics are most appropriate to use for determining the most expensive, least expensive, and most heterogeneous (having the most variation in housing price) neighborhoods? Report which neighborhoods these are based on the summary statistics of your choice. Report the value of your chosen summary statistics for these neighborhoods.
# type your code for Question 2 here, and Knit
df1 <- ames_train %>%
group_by(Neighborhood) %>%
summarise(mean = mean(price), median = median(price), sd = sd(price))
df1 %>%
arrange(desc(median)) %>%
select(Neighborhood, median) %>%
slice(1:5)
## # A tibble: 5 x 2
## Neighborhood median
## <fct> <dbl>
## 1 StoneBr 340692.
## 2 NridgHt 336860
## 3 NoRidge 290000
## 4 GrnHill 280000
## 5 Timber 232500
df1 %>%
arrange(median) %>%
select(Neighborhood, median) %>%
slice(1:5)
## # A tibble: 5 x 2
## Neighborhood median
## <fct> <dbl>
## 1 MeadowV 85750
## 2 BrDale 98750
## 3 IDOTRR 99500
## 4 OldTown 120000
## 5 Blueste 123900
df1 %>%
arrange(desc(sd)) %>%
select(Neighborhood, sd) %>%
slice(1:5)
## # A tibble: 5 x 2
## Neighborhood sd
## <fct> <dbl>
## 1 StoneBr 123459.
## 2 NridgHt 105089.
## 3 Timber 84030.
## 4 Veenker 72545.
## 5 Crawfor 71268.
ggplot(ames_train, aes(Neighborhood, price / 1000)) +
geom_boxplot(aes(colour = Neighborhood)) +
theme(axis.text.x = element_text(angle = 90)) +
theme(legend.position = "none") +
labs(y = 'Price (in thousand of dollars)', title = 'Price by Neighborhood')
ANSWER: The summary statistic most appropiate for determining the most expensive and least expensive neighborhoods is the median, because it is not very affected by outliers. The most appropiate for determining heterogeneous neighborhood is the standard deviation.
Which variable has the largest number of missing values? Explain why it makes sense that there are so many missing values for this variable.
# type your code for Question 3 here, and Knit
sort(colSums(is.na(ames_train)), decreasing = TRUE)[1:5]
## Pool.QC Misc.Feature Alley Fence Fireplace.Qu
## 997 971 933 798 491
ANSWER: The variable with more missing values is Pool Quality. This is because when the house does not have a swimming pool it appears on the dataset as nan. Therefore in the dataset there are 997 houses without a swimming pool.
We want to predict the natural log of the home prices. Candidate explanatory variables are lot size in square feet (Lot.Area), slope of property (Land.Slope), original construction date (Year.Built), remodel date (Year.Remod.Add), and the number of bedrooms above grade (Bedroom.AbvGr). Pick a model selection or model averaging method covered in the Specialization, and describe how this method works. Then, use this method to find the best multiple regression model for predicting the natural log of the home prices.
# type your code for Question 4 here, and Knit
lm_bas = bas.lm(log(price) ~ Lot.Area + Land.Slope + Year.Built + Year.Remod.Add + Bedroom.AbvGr, data = ames_train,
prior = 'BIC',
modelprior = uniform())
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
round(summary(lm_bas), 3)
## P(B != 0 | Y) model 1 model 2 model 3 model 4
## Intercept 1.000 1.000 1.000 1.000 1.000
## Lot.Area 1.000 1.000 1.000 1.000 1.000
## Land.SlopeMod 0.904 1.000 0.000 1.000 0.000
## Land.SlopeSev 0.904 1.000 0.000 1.000 0.000
## Year.Built 1.000 1.000 1.000 1.000 1.000
## Year.Remod.Add 1.000 1.000 1.000 1.000 1.000
## Bedroom.AbvGr 1.000 1.000 1.000 0.000 0.000
## BF NA 1.000 0.106 0.000 0.000
## PostProbs NA 0.904 0.096 0.000 0.000
## R2 NA 0.562 0.554 0.534 0.525
## dim NA 7.000 5.000 6.000 4.000
## logmarg NA -2198.167 -2200.410 -2226.424 -2228.480
## model 5
## Intercept 1.000
## Lot.Area 0.000
## Land.SlopeMod 1.000
## Land.SlopeSev 1.000
## Year.Built 1.000
## Year.Remod.Add 1.000
## Bedroom.AbvGr 1.000
## BF 0.000
## PostProbs 0.000
## R2 0.524
## dim 6.000
## logmarg -2236.437
print(lm_bas)
##
## Call:
## bas.lm(formula = log(price) ~ Lot.Area + Land.Slope + Year.Built +
## Year.Remod.Add + Bedroom.AbvGr, data = ames_train, prior = "BIC",
## modelprior = uniform())
##
##
## Marginal Posterior Inclusion Probabilities:
## Intercept Lot.Area Land.SlopeMod Land.SlopeSev
## 1.000 1.000 0.904 0.904
## Year.Built Year.Remod.Add Bedroom.AbvGr
## 1.000 1.000 1.000
image(lm_bas, rotate = F)
ames_coef = coef(lm_bas)
ames_coef
##
## Marginal Posterior Summaries of Coefficients:
##
## Using BMA
##
## Based on the top 36 models
## post mean post SD post p(B != 0)
## Intercept 1.202e+01 8.831e-03 1.000e+00
## Lot.Area 1.013e-05 1.184e-06 1.000e+00
## Land.SlopeMod 1.251e-01 6.257e-02 9.040e-01
## Land.SlopeSev -4.129e-01 1.971e-01 9.040e-01
## Year.Built 6.046e-03 3.792e-04 1.000e+00
## Year.Remod.Add 6.789e-03 5.481e-04 1.000e+00
## Bedroom.AbvGr 8.688e-02 1.078e-02 1.000e+00
confint(ames_coef)
## 2.5% 97.5% beta
## Intercept 1.200141e+01 1.203554e+01 1.201847e+01
## Lot.Area 7.832073e-06 1.237613e-05 1.012662e-05
## Land.SlopeMod 0.000000e+00 2.193152e-01 1.251455e-01
## Land.SlopeSev -6.972596e-01 0.000000e+00 -4.128938e-01
## Year.Built 5.308602e-03 6.767915e-03 6.046237e-03
## Year.Remod.Add 5.720726e-03 7.840947e-03 6.788766e-03
## Bedroom.AbvGr 6.603116e-02 1.076665e-01 8.687950e-02
## attr(,"Probability")
## [1] 0.95
## attr(,"class")
## [1] "confint.bas"
# best = which.max(lm_bas$logmarg)
# bestmodel = lm_bas$which[[best]] + 1
# plot(ames_coef, subset = c(bestmodel), ask = FALSE)
plot(confint(ames_coef, parm = 2:ames_coef$n.vars))
## Warning in arrows(x[not.deg], ci[not.deg, 1], x[not.deg], ci[not.deg,
## 2], : zero-length arrow is of indeterminate angle and so skipped
## NULL
ANSWER: In order to do model averaging we use the BAS package. To represent model uncertainty, we need to construct a probability distribution over all possible models where each probability provides measure of how likely the model is to happen.
From the information above, we can conclude that the best model include all the vairables:
log(price) ~ Lot.Area + Land.Slope + Year.Built + Year.Remod.Add + Bedroom.AbvGr
The posterior probability of the best model is 0.904, and the R-squared associated is 0.562 what means that the 56% of the variance on the response variable is explained by the model.
The coefficients of each variable are represented in the table and plot below with a confidence interval of 95%.
Which home has the largest squared residual in the previous analysis (Question 4)? Looking at all the variables in the data set, can you explain why this home stands out from the rest (what factors contribute to the high squared residual and why are those factors relevant)?
# type your code for Question 5 here, and Knit
plot(lm_bas, which = 1)
house_428 <- ames_train %>%
slice(428)
ANSWER: The home with the larges squared residual is the number 428. With the following characteristics:
The residual is negative, what means we have predicted the price upper the real price of the house. Looking at the dataset we know that the house is very old and the overall quality and overall condition is poor. So it would be interesting to introduce one of both characteristics in the model to predict better its value.
Use the same model selection method you chose in Question 4 to again find the best multiple regression model to predict the natural log of home prices, but this time replacing Lot.Area with log(Lot.Area). Do you arrive at a model including the same set of predictors?
# type your code for Question 6 here, and Knit
lm_bas_2 = bas.lm(log(price) ~ log(Lot.Area) + Land.Slope + Year.Built + Year.Remod.Add + Bedroom.AbvGr, data = ames_train,
prior = 'BIC',
modelprior = uniform())
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
round(summary(lm_bas), 3)
## P(B != 0 | Y) model 1 model 2 model 3 model 4
## Intercept 1.000 1.000 1.000 1.000 1.000
## Lot.Area 1.000 1.000 1.000 1.000 1.000
## Land.SlopeMod 0.904 1.000 0.000 1.000 0.000
## Land.SlopeSev 0.904 1.000 0.000 1.000 0.000
## Year.Built 1.000 1.000 1.000 1.000 1.000
## Year.Remod.Add 1.000 1.000 1.000 1.000 1.000
## Bedroom.AbvGr 1.000 1.000 1.000 0.000 0.000
## BF NA 1.000 0.106 0.000 0.000
## PostProbs NA 0.904 0.096 0.000 0.000
## R2 NA 0.562 0.554 0.534 0.525
## dim NA 7.000 5.000 6.000 4.000
## logmarg NA -2198.167 -2200.410 -2226.424 -2228.480
## model 5
## Intercept 1.000
## Lot.Area 0.000
## Land.SlopeMod 1.000
## Land.SlopeSev 1.000
## Year.Built 1.000
## Year.Remod.Add 1.000
## Bedroom.AbvGr 1.000
## BF 0.000
## PostProbs 0.000
## R2 0.524
## dim 6.000
## logmarg -2236.437
round(summary(lm_bas_2), 3)
## P(B != 0 | Y) model 1 model 2 model 3 model 4
## Intercept 1.000 1.000 1.000 1.000 1.000
## log(Lot.Area) 1.000 1.000 1.000 1.000 1.000
## Land.SlopeMod 0.023 0.000 1.000 0.000 1.000
## Land.SlopeSev 0.023 0.000 1.000 0.000 1.000
## Year.Built 1.000 1.000 1.000 1.000 1.000
## Year.Remod.Add 1.000 1.000 1.000 1.000 1.000
## Bedroom.AbvGr 1.000 1.000 1.000 0.000 0.000
## BF NA 1.000 0.024 0.000 0.000
## PostProbs NA 0.977 0.023 0.000 0.000
## R2 NA 0.603 0.606 0.591 0.593
## dim NA 5.000 7.000 4.000 6.000
## logmarg NA -2142.565 -2146.306 -2153.733 -2158.390
## model 5
## Intercept 1.000
## log(Lot.Area) 1.000
## Land.SlopeMod 0.000
## Land.SlopeSev 0.000
## Year.Built 1.000
## Year.Remod.Add 0.000
## Bedroom.AbvGr 1.000
## BF 0.000
## PostProbs 0.000
## R2 0.536
## dim 4.000
## logmarg -2217.738
ANSWER: We do not arrive to the same model. This time the predictor Land Slope is not included in the model. It goes from having a probability of being included in the model from 0.904 to 0.023. Notice with this new model the R-squared increases to 0.603, therefore this model is able to explain better the variance on the response variable.
Do you think it is better to log transform Lot.Area, in terms of assumptions for linear regression? Make graphs of the predicted values of log home price versus the true values of log home price for the regression models selected for Lot.Area and log(Lot.Area). Referencing these two plots, provide a written support that includes a quantitative justification for your answer in the first part of question 7.
# type your code for Question 7 here, and Knit
predicted_values <- predict(lm_bas, estimator = 'BPM', se.fit = TRUE)
predicted_values_log <- predict(lm_bas_2, estimator = 'BPM', se.fit = TRUE)
ames_train$predicted_price = predicted_values$fit
ames_train$predicted_price_log = predicted_values_log$fit
ggplot(ames_train, aes(predicted_price, log(price))) +
geom_point()
ggplot(ames_train, aes(predicted_price_log, log(price))) +
geom_point()
par(mfrow = c(2,2))
plot(lm_bas)
plot(lm_bas_2)
ANSWER: In both models, the linearity and variance of the residuals are met. In the model with log(Lot.Area) the R-squared is higher and the model also has fewer predictors (the model is simplest). So we can conclude that is better to log transform Lot.Area.


Judges 17:13
Then said Micah, Now know I that the LORD will do me good, seeing I have a Levite to my priest.


I major in Mechanical Engineering at NYU Abu Dhabi. I am intrigued by robot autonomy, environmental sustainability, and user-centered design. I am constantly exploring the applications of robotics for the most pressing social problems of our generation.
Currently, I am engaged in the emerging field of neural networks and robot autonomy. I believe this aspect of machine learning will enable the formulation of robots neccesary to confront pragmatically the complexity and the unpredictability that pervade the real world.


Random Location Picker
Location Name
Pick Random Location
Pick Random Square on Map
Bro, your JavaScript is disabled. I highly recommend enabling it for the website to work.
View code on GitHub
- Made with ♥
Want to make suggestions to the site? Sure! You can put these suggestions on the
GitHub repo
's issues section, and I will surely respond! Want to report an issue? Go to the issues section and report it there, it isn't there for nothing!


Teachable keyboard
Test Predictions
Start Prediction
Q
W
E
R
T
Y
U
I
O
P
A
S
D
F
G
H
J
K
L
Z
X
C
V
B
N
M
Space
Delete