--- title: "SOCI832 Lesson 2.1 An introduction to comparing means" lastmod: 2018-12-28T00:00:00.000Z draft: true type: docs maths: true output: blogdown::html_page: toc: true linktitle: "2.1 Bivariate: Means" menu: docs: parent: SOCI832 weight: 210 ---
ReadingField, A., Miles, J., and Field, Z. (2012). Discovering statistics using R. Sage publications.
|
ConceptsLevel 1Level 2 Level 3 |
SummaryThis is a 300 word summary of clase |
setwd("C:/G/2018, SOCI832/Datasets/AES 2013/")
https://mqsociology.github.io/learn-r/soci832/elect_2013.csv
https://mqsociology.github.io/learn-r/soci832/codebook%20aes%202013.html
install.packages("summarytools",
repos = 'http://cran.rstudio.com') # install the package (once, and then # it out)
## Installing package into 'C:/Users/nickh/Documents/R/win-library/3.5'
## (as 'lib' is unspecified)
## package 'summarytools' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\nickh\AppData\Local\Temp\RtmpkToRXd\downloaded_packages
library(summarytools) # load the library
elect_2013 <- read.csv("elect_2013.csv") # loads dataset
FYI the command works by saying “copy all columns except the first”.  Each time you run it, it deletes the first variable.
elect_2013 <- elect_2013[,2:ncol(elect_2013)]
This section shows how to cross- tabulate the levels of two variables. This is often one of the simplest ways to get a quick look at the relationship between two variables
This is how the command ‘ctable()’ presents a cross tabulation with default settings:
print(ctable(elect_2013$pol_knowledge,
elect_2013$likelihood_vote),
method = 'rmarkdown')
| likelihood_vote | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pol_knowledge | 1 | 2 | 3 | 4 | 5 | <NA> | Total | |||||||||||||||||||||
| 0 | 51 | ( | 12.4% | ) | 78 | ( | 19.0% | ) | 48 | ( | 11.7% | ) | 99 | ( | 24.1% | ) | 130 | ( | 31.7% | ) | 4 | ( | 1.0% | ) | 410 | ( | 100.0% | ) |
| 1 | 18 | ( | 5.9% | ) | 48 | ( | 15.8% | ) | 38 | ( | 12.5% | ) | 68 | ( | 22.4% | ) | 128 | ( | 42.2% | ) | 3 | ( | 1.0% | ) | 303 | ( | 100.0% | ) |
| 2 | 13 | ( | 3.4% | ) | 41 | ( | 10.8% | ) | 36 | ( | 9.5% | ) | 106 | ( | 27.9% | ) | 182 | ( | 47.9% | ) | 2 | ( | 0.5% | ) | 380 | ( | 100.0% | ) |
| 3 | 13 | ( | 3.4% | ) | 27 | ( | 7.1% | ) | 22 | ( | 5.8% | ) | 75 | ( | 19.6% | ) | 243 | ( | 63.6% | ) | 2 | ( | 0.5% | ) | 382 | ( | 100.0% | ) |
| 4 | 9 | ( | 2.2% | ) | 25 | ( | 6.2% | ) | 29 | ( | 7.2% | ) | 79 | ( | 19.6% | ) | 258 | ( | 64.0% | ) | 3 | ( | 0.7% | ) | 403 | ( | 100.0% | ) |
| 5 | 9 | ( | 2.1% | ) | 13 | ( | 3.1% | ) | 18 | ( | 4.2% | ) | 88 | ( | 20.7% | ) | 296 | ( | 69.6% | ) | 1 | ( | 0.2% | ) | 425 | ( | 100.0% | ) |
| 6 | 4 | ( | 1.1% | ) | 16 | ( | 4.3% | ) | 15 | ( | 4.0% | ) | 60 | ( | 16.0% | ) | 279 | ( | 74.2% | ) | 2 | ( | 0.5% | ) | 376 | ( | 100.0% | ) |
| 7 | 2 | ( | 0.5% | ) | 10 | ( | 2.3% | ) | 12 | ( | 2.8% | ) | 56 | ( | 12.9% | ) | 352 | ( | 80.9% | ) | 3 | ( | 0.7% | ) | 435 | ( | 100.0% | ) |
| 8 | 6 | ( | 1.6% | ) | 7 | ( | 1.8% | ) | 9 | ( | 2.3% | ) | 46 | ( | 11.9% | ) | 315 | ( | 81.4% | ) | 4 | ( | 1.0% | ) | 387 | ( | 100.0% | ) |
| 9 | 0 | ( | 0.0% | ) | 3 | ( | 0.9% | ) | 6 | ( | 1.9% | ) | 30 | ( | 9.4% | ) | 274 | ( | 86.2% | ) | 5 | ( | 1.6% | ) | 318 | ( | 100.0% | ) |
| 10 | 1 | ( | 0.7% | ) | 1 | ( | 0.7% | ) | 3 | ( | 2.2% | ) | 14 | ( | 10.3% | ) | 117 | ( | 86.0% | ) | 0 | ( | 0.0% | ) | 136 | ( | 100.0% | ) |
| Total | 126 | ( | 3.2% | ) | 269 | ( | 6.8% | ) | 236 | ( | 6.0% | ) | 721 | ( | 18.2% | ) | 2574 | ( | 65.1% | ) | 29 | ( | 0.7% | ) | 3955 | ( | 100.0% | ) |
Generated by summarytools 0.9.3 (R version 3.5.3)
2019-07-16
Notice that each cell in the table has two numbers the first number is the number of survey respondents who had those two values of the two variables. For exampke, there are 51 people who got zero on the political knowledge quiz, and who also said their likelihood of voting if voting was not compulsory was ‘definitely not’ (i.e. a 1 on a 5 point scale). The second number in each cell (contained in brakets) is a percentage. In this default setting, this is the row percentage - the percentage of people with a political knowledge score of zero, who have a ‘1’ on the ‘likelihood_vote’ variable. You can see that this is 12.44%.
Often when reading cross tabulations it can be difficult to work out whether the percentages are row or column percentages. One of the easiest ways to work this out is to simply look at the Total column, and Total row. Almost always you will find that one of the two Totals is equalt to 100% for all values of a variable. The total with the 100% is the denominator for all cells in it’s row or column.
So in this case, we can see that the Total column has 100% for all variables, telling you that the percentages are “percent of people with political knowledge of X, who had a likelihood of voting of Y.” ‘prop’ ARGUMENT We can control the displaying of row and column percentages with the argument ‘prop’. prop takes four different settings “r” for ’row percentages is the default (so you don’t need to put this setting in). The other options are: “c” for column totals (cell count/column count) “t” for displaying percent of all cases (cell count/total count) “n” for none - no percentages
So this command displays column totals
print(ctable(elect_2013$pol_knowledge,
elect_2013$likelihood_vote,
prop = "c"),
method = 'rmarkdown', footnote = NA)
| likelihood_vote | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pol_knowledge | 1 | 2 | 3 | 4 | 5 | <NA> | Total | |||||||||||||||||||||
| 0 | 51 | ( | 40.5% | ) | 78 | ( | 29.0% | ) | 48 | ( | 20.3% | ) | 99 | ( | 13.7% | ) | 130 | ( | 5.1% | ) | 4 | ( | 13.8% | ) | 410 | ( | 10.4% | ) |
| 1 | 18 | ( | 14.3% | ) | 48 | ( | 17.8% | ) | 38 | ( | 16.1% | ) | 68 | ( | 9.4% | ) | 128 | ( | 5.0% | ) | 3 | ( | 10.3% | ) | 303 | ( | 7.7% | ) |
| 2 | 13 | ( | 10.3% | ) | 41 | ( | 15.2% | ) | 36 | ( | 15.3% | ) | 106 | ( | 14.7% | ) | 182 | ( | 7.1% | ) | 2 | ( | 6.9% | ) | 380 | ( | 9.6% | ) |
| 3 | 13 | ( | 10.3% | ) | 27 | ( | 10.0% | ) | 22 | ( | 9.3% | ) | 75 | ( | 10.4% | ) | 243 | ( | 9.4% | ) | 2 | ( | 6.9% | ) | 382 | ( | 9.7% | ) |
| 4 | 9 | ( | 7.1% | ) | 25 | ( | 9.3% | ) | 29 | ( | 12.3% | ) | 79 | ( | 11.0% | ) | 258 | ( | 10.0% | ) | 3 | ( | 10.3% | ) | 403 | ( | 10.2% | ) |
| 5 | 9 | ( | 7.1% | ) | 13 | ( | 4.8% | ) | 18 | ( | 7.6% | ) | 88 | ( | 12.2% | ) | 296 | ( | 11.5% | ) | 1 | ( | 3.4% | ) | 425 | ( | 10.7% | ) |
| 6 | 4 | ( | 3.2% | ) | 16 | ( | 5.9% | ) | 15 | ( | 6.4% | ) | 60 | ( | 8.3% | ) | 279 | ( | 10.8% | ) | 2 | ( | 6.9% | ) | 376 | ( | 9.5% | ) |
| 7 | 2 | ( | 1.6% | ) | 10 | ( | 3.7% | ) | 12 | ( | 5.1% | ) | 56 | ( | 7.8% | ) | 352 | ( | 13.7% | ) | 3 | ( | 10.3% | ) | 435 | ( | 11.0% | ) |
| 8 | 6 | ( | 4.8% | ) | 7 | ( | 2.6% | ) | 9 | ( | 3.8% | ) | 46 | ( | 6.4% | ) | 315 | ( | 12.2% | ) | 4 | ( | 13.8% | ) | 387 | ( | 9.8% | ) |
| 9 | 0 | ( | 0.0% | ) | 3 | ( | 1.1% | ) | 6 | ( | 2.5% | ) | 30 | ( | 4.2% | ) | 274 | ( | 10.6% | ) | 5 | ( | 17.2% | ) | 318 | ( | 8.0% | ) |
| 10 | 1 | ( | 0.8% | ) | 1 | ( | 0.4% | ) | 3 | ( | 1.3% | ) | 14 | ( | 1.9% | ) | 117 | ( | 4.5% | ) | 0 | ( | 0.0% | ) | 136 | ( | 3.4% | ) |
| Total | 126 | ( | 100.0% | ) | 269 | ( | 100.0% | ) | 236 | ( | 100.0% | ) | 721 | ( | 100.0% | ) | 2574 | ( | 100.0% | ) | 29 | ( | 100.0% | ) | 3955 | ( | 100.0% | ) |
Percentages of the total number of participants/cases
print(ctable(elect_2013$pol_knowledge,
elect_2013$likelihood_vote,
prop = "t"),
method = 'rmarkdown', footnote = NA)
| likelihood_vote | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pol_knowledge | 1 | 2 | 3 | 4 | 5 | <NA> | Total | |||||||||||||||||||||
| 0 | 51 | ( | 1.3% | ) | 78 | ( | 2.0% | ) | 48 | ( | 1.2% | ) | 99 | ( | 2.5% | ) | 130 | ( | 3.3% | ) | 4 | ( | 0.1% | ) | 410 | ( | 10.4% | ) |
| 1 | 18 | ( | 0.5% | ) | 48 | ( | 1.2% | ) | 38 | ( | 1.0% | ) | 68 | ( | 1.7% | ) | 128 | ( | 3.2% | ) | 3 | ( | 0.1% | ) | 303 | ( | 7.7% | ) |
| 2 | 13 | ( | 0.3% | ) | 41 | ( | 1.0% | ) | 36 | ( | 0.9% | ) | 106 | ( | 2.7% | ) | 182 | ( | 4.6% | ) | 2 | ( | 0.1% | ) | 380 | ( | 9.6% | ) |
| 3 | 13 | ( | 0.3% | ) | 27 | ( | 0.7% | ) | 22 | ( | 0.6% | ) | 75 | ( | 1.9% | ) | 243 | ( | 6.1% | ) | 2 | ( | 0.1% | ) | 382 | ( | 9.7% | ) |
| 4 | 9 | ( | 0.2% | ) | 25 | ( | 0.6% | ) | 29 | ( | 0.7% | ) | 79 | ( | 2.0% | ) | 258 | ( | 6.5% | ) | 3 | ( | 0.1% | ) | 403 | ( | 10.2% | ) |
| 5 | 9 | ( | 0.2% | ) | 13 | ( | 0.3% | ) | 18 | ( | 0.5% | ) | 88 | ( | 2.2% | ) | 296 | ( | 7.5% | ) | 1 | ( | 0.0% | ) | 425 | ( | 10.7% | ) |
| 6 | 4 | ( | 0.1% | ) | 16 | ( | 0.4% | ) | 15 | ( | 0.4% | ) | 60 | ( | 1.5% | ) | 279 | ( | 7.1% | ) | 2 | ( | 0.1% | ) | 376 | ( | 9.5% | ) |
| 7 | 2 | ( | 0.1% | ) | 10 | ( | 0.3% | ) | 12 | ( | 0.3% | ) | 56 | ( | 1.4% | ) | 352 | ( | 8.9% | ) | 3 | ( | 0.1% | ) | 435 | ( | 11.0% | ) |
| 8 | 6 | ( | 0.2% | ) | 7 | ( | 0.2% | ) | 9 | ( | 0.2% | ) | 46 | ( | 1.2% | ) | 315 | ( | 8.0% | ) | 4 | ( | 0.1% | ) | 387 | ( | 9.8% | ) |
| 9 | 0 | ( | 0.0% | ) | 3 | ( | 0.1% | ) | 6 | ( | 0.2% | ) | 30 | ( | 0.8% | ) | 274 | ( | 6.9% | ) | 5 | ( | 0.1% | ) | 318 | ( | 8.0% | ) |
| 10 | 1 | ( | 0.0% | ) | 1 | ( | 0.0% | ) | 3 | ( | 0.1% | ) | 14 | ( | 0.4% | ) | 117 | ( | 3.0% | ) | 0 | ( | 0.0% | ) | 136 | ( | 3.4% | ) |
| Total | 126 | ( | 3.2% | ) | 269 | ( | 6.8% | ) | 236 | ( | 6.0% | ) | 721 | ( | 18.2% | ) | 2574 | ( | 65.1% | ) | 29 | ( | 0.7% | ) | 3955 | ( | 100.0% | ) |
No percentages
print(ctable(elect_2013$pol_knowledge,
elect_2013$likelihood_vote,
prop = "n"),
method = 'rmarkdown', footnote = NA)
| likelihood_vote | |||||||
|---|---|---|---|---|---|---|---|
| pol_knowledge | 1 | 2 | 3 | 4 | 5 | <NA> | Total |
| 0 | 51 | 78 | 48 | 99 | 130 | 4 | 410 |
| 1 | 18 | 48 | 38 | 68 | 128 | 3 | 303 |
| 2 | 13 | 41 | 36 | 106 | 182 | 2 | 380 |
| 3 | 13 | 27 | 22 | 75 | 243 | 2 | 382 |
| 4 | 9 | 25 | 29 | 79 | 258 | 3 | 403 |
| 5 | 9 | 13 | 18 | 88 | 296 | 1 | 425 |
| 6 | 4 | 16 | 15 | 60 | 279 | 2 | 376 |
| 7 | 2 | 10 | 12 | 56 | 352 | 3 | 435 |
| 8 | 6 | 7 | 9 | 46 | 315 | 4 | 387 |
| 9 | 0 | 3 | 6 | 30 | 274 | 5 | 318 |
| 10 | 1 | 1 | 3 | 14 | 117 | 0 | 136 |
| Total | 126 | 269 | 236 | 721 | 2574 | 29 | 3955 |
As with the other summarytools functions, you can use various arguments to clean up the display of your table. Note that for some reason we use the argument ‘useNA’ rather than ‘report.nas’ to remove NAs from our table.
print(ctable(elect_2013$pol_knowledge,
elect_2013$likelihood_vote,
omit.headings = TRUE,
totals = FALSE,
useNA = "no",
prop = "n"),
method = 'rmarkdown', footnote = NA)
## 'omit.headings' argument has been replaced by 'headings'; setting headings = FALSE
| likelihood_vote | |||||
|---|---|---|---|---|---|
| pol_knowledge | 1 | 2 | 3 | 4 | 5 |
| 0 | 51 | 78 | 48 | 99 | 130 |
| 1 | 18 | 48 | 38 | 68 | 128 |
| 2 | 13 | 41 | 36 | 106 | 182 |
| 3 | 13 | 27 | 22 | 75 | 243 |
| 4 | 9 | 25 | 29 | 79 | 258 |
| 5 | 9 | 13 | 18 | 88 | 296 |
| 6 | 4 | 16 | 15 | 60 | 279 |
| 7 | 2 | 10 | 12 | 56 | 352 |
| 8 | 6 | 7 | 9 | 46 | 315 |
| 9 | 0 | 3 | 6 | 30 | 274 |
| 10 | 1 | 1 | 3 | 14 | 117 |
We will learn about the basic ways to compare the difference in means of two groups - one where the groups are independent (e.g. height of men and women), and one where they are paired (e.g. height of the same people at age 15 and age 15.5 years).
Let’s say we want to compare the political knowledge of men and women in our dataset. We want to ask if the mean for men, and the mean for women is different the command to test this is ‘t.test’.
t.test(elect_2013$pol_knowledge ~ elect_2013$female)
##
## Welch Two Sample t-test
##
## data: elect_2013$pol_knowledge by elect_2013$female
## t = 11.64, df = 3838.6, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.8891745 1.2493867
## sample estimates:
## mean in group 0 mean in group 1
## 5.328302 4.259021
In the console window you should see:
# Welch Two Sample t-test data: elect_2013$pol_knowledge by elect_2013$female t = 11.64, df = 3838.6, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 0.8891745 1.2493867
# sample estimates:
# mean in group 0 mean in group 1
# 5.328302 4.259021
# >
Now I know this looks like a mess, but it is actually not too difficult to understand. The fundamental rule I teach is that the first thing you do when you run a test is look at the p-value, and see if it is below 0.05. If it is not below 0.05, then there is generally not a need to interpret anything else because the test is not significant. [There is a complication to this instruction, because some statistical commands give multiple p-values - one for each variable, and one for the model overall - but we will deal with that later] So if we follow this rule of looking at the p-value first, What does it say?
The p-value in this case is “p-value < 2.2e-16”. What does that mean? it means the number 2.2 with 16 zeros in FRONT of it. i.e. p = 0.000000000000000022. Is that less than 0.05? Yes!
So what is the next step for intepreting this output?
Let’s look at the last three line. They say:
# sample estimates:
# mean in group 0 mean in group 1
# 5.328302 4.259021
This is telling us that the mean of the group with value “0” is 5.33, and the mean for the group with value “1” is 4.26. But what is group 0 and 1? Well we need to look at our data. The means are measure in “pol_knowledge” units, and the variable for gender is 1 = female, and 0 = male. so this tells us that the mean political knowledge for men in our sample is 5.3, and for women is 4.3.
We could stop interpreting our data here, but there is another useful part of the output to interpret. Look at these two lines:
# 95 percent confidence interval: 0.8891745 1.2493867
This tells us that the ‘difference of means’ between men and women has a 95% confidence interval of 0.89 to 1.25. This says that the TRUE difference between men and women - the population parameter - is with 95% certainty between 0.89 and 1.25.
The second type of comparison of means we are going to run is the paired test. In a paired test the two variables to be measured are measured on the same units of analysis The reason we need a different test for this is because when the same unit of analysis is used for the two variables the two variables are dependent on each other - they are not independent samples - as so the statistical test changes to account for this.
In the next example, we are going to compare participants average score for ‘following the election on TV’ vs ‘following the election in the newspaper’.
t.test(elect_2013$election_tv,
elect_2013$election_newspaper,
paired = TRUE)
##
## Paired t-test
##
## data: elect_2013$election_tv and elect_2013$election_newspaper
## t = -26.584, df = 3883, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.4600211 -0.3968275
## sample estimates:
## mean of the differences
## -0.4284243
This can be read in the same way as the previous t-test except that in this case the last line reports the difference in means, not the two means.
Intuitively we know that this means people followed the election more in the newspaper than on TV, but we can check this, by just running two means() to double check we are right:
mean(elect_2013$election_tv, na.rm = TRUE)
## [1] 2.007969
mean(elect_2013$election_newspaper, na.rm = TRUE)
## [1] 2.433723
And you can see that what we thought was true is, with people having an average score of 2.01 for election_tv, and 2.43 for election_newspaper.
Coorelation coefficents are some of the most widely used and reported statistics in academic papers. In this section we learn about how to obtain the most common types of correlation coefficients. We also create our own function for making very attractive correlation matricies.
We will be needing these two packages later, so make sure you have installed them, and also loaded them into this session of by calling them using the ‘library’ command.
install.packages("Hmisc", repos = 'http://cran.rstudio.com')
## Installing package into 'C:/Users/nickh/Documents/R/win-library/3.5'
## (as 'lib' is unspecified)
## package 'Hmisc' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\nickh\AppData\Local\Temp\RtmpkToRXd\downloaded_packages
# hash this out after installing on your computer
install.packages("xtable", repos = 'http://cran.rstudio.com')
## Installing package into 'C:/Users/nickh/Documents/R/win-library/3.5'
## (as 'lib' is unspecified)
## package 'xtable' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\nickh\AppData\Local\Temp\RtmpkToRXd\downloaded_packages
# and this.
library(xtable)
##
## Attaching package: 'xtable'
## The following objects are masked from 'package:summarytools':
##
## label, label<-
library(Hmisc)
## Loading required package: lattice
## Loading required package: survival
## Loading required package: Formula
## Loading required package: ggplot2
##
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:xtable':
##
## label, label<-
## The following objects are masked from 'package:summarytools':
##
## label, label<-
## The following objects are masked from 'package:base':
##
## format.pval, units
The third form of bivariate statistics we are learning about today is correlation, and in particular correlation coefficients.
Correlation coefficients can roughly be defined as:
It turns out that there are lots of different correlation coefficients, and statisticians are probably still inventing new correlation coefficients today.
When most people talk about correlation coefficients, or just correlation, they are talking about the most famous and widely used correlation coefficient called “Pearson correlation coefficient”. This was invented by the famous statistician Karl Pearson. It is also called ‘Pearson’s R’ and sometimes just ‘r’. And that has no relationships with the statistical package ‘R’! Each correlation coefficient is measured in a different way, and this is so that it takes account of the different types of data that the coefficient is working with.
When we have approximately continuous data, Pearson’s correlation coefficient is the best measure, and by learning about this measure, you will get a sense of what all the different correlation coefficients are trying to do.
There is an excellent four page explaination of Pearson’s r in Field et al. 2012 pages 206-209 (6.3.1- 6.3.2) which recommend everyone read. I will try to summarise it here, but my explanation will be overly simple.
A correlation coefficient brings together two main ideas: (1) covariance; and (2) standardisation.
Covariance is the idea that for two variables, when one is high on an individual, the other variable will also be high, and vice versa - when one is low, the other variable will be low.
We could think of a very simple example of measuring height and weight on everyone in a school. Now we know that height and weight are not perfectly correlated because there are lots of other factors. But we also know that they tend to move together. This “moving together” is covariance.
The way statisticians measure covariance is by looking at how much two measures move away from the mean of the whole sample. So if we have a school where the average height is 130cm and the average weight is 50kg, statisticians would measure the covariance by asking “When someone differs from the mean height, do they also differ by a similar amount in the same direction from the mean weight?”
Mathematically the covariances of a person called Anne is: (Anne’s weight - average school weight)* (Anne’s height - average school height)
For the whole school, we can calcuate the average covariance which is called covariance by taking the average (actually n-1 is the denominator - which I won’t explain) And this will give us a number that is positive if height and weight move together, and negative if they don’t, and approximately zero if there is no relationship.
However, we have a problem, which is that the units of covariance dependent on what we are measuring and the units we are measuring it.
Statisticians solve this by using ‘standardisation’, which is actually used in many different settings.
The formula for standardisation (in almost all settings) is “subtract the mean from each case, and then divide by the standard deviation”. The reason you subtract the mean from each case, is that it causes the new mean of all cases to be zero.
Now it turns out that for covariance, we have already subtracted the mean as part of the formula, so we don’t need to worry about this.
The second rule is to divide by the standard deviation of a variable (or in this case, the product of the standard deviation of each variable). Why? Because It transforms ALL our units of analysis - that is EVERY variable we divide by it’s own standard deviation - so that the numbers “1” and “-1” mean exactly the same thing: they mean 1 standard deviation from the mean of the variable in the sample.
This can be seen in Field et al. 2012 in equation 6.3.
And the result is a magical number called Pearon’s r.
When a statistical packages such as R calculates a Pearons’s r for you, there two questions you should be asking about the number:
Reading significance with p-values is pretty straight forward. Remember that we ask is the p-value < 0.05
Reading confidence intervals is similarly easy. Generally we say that a Pearson’s r is significant if the 95% confidence interval does not include zero (because if it did include zero, then there is a greater than 5% chance that the true parameter is zero). But how do we know ‘importance’?
There is a concept in statistics which has grown in importance over the last 30 years, and this is known as ‘effect size’. The argument goes something like this: If you have a large enough sample size, then you can get a p-value less than 0.05 for something that is actually of only trivial importance. And for this reason, we can’t just use p-values to tell us whether something really matters in the real world.
As a result of this criticism, the notion of effect size’s has developed.
A variable has a large effect on another variable if, for example, a one standard deviation variation in one variable causes (or is correlated with) a one standard deviation variation in the second variable.
We can see here that we are thinking about how variance, measured in standardised units, in one variable is related to variance in another.
Anyway, we will be returning to effect size quite a few times in this course, for the moment, I just want you to know that in the case of Pearson’s r, effect size is measured DIRECTLY in the coefficient. And the rule of thumb for interpreting effect sizes of a Pearson’s r are:
Now, while ‘small’, ‘medium’, and ‘large’ are quite vague terms, they are honestly used in much of statistics
One way to get a grip on what these mean is to take the square of pearson’s r, which is called ‘R-square’ or ‘R-squared’.
It turns out that R-squared can be read directly as the “Proportion of variation in one variable explained by the second and vice versa”.
In short, it can basically be read like a proportion (or if you like, percentage, just multiple by 100).
So if we transform these Pearson’s r into R-square, we can rewrite the rule of thumb for effect size measured in R-square as:
With these rules of thumb in hand, let’s look at our data and analysis it with R.
The two simplest commands to get a correlation coefficient are cor() and cor.test()
cor() unfortuately doesn’t give a lot of information so it’s not that useful. cor.test() however is quite useful.
Let’s look at the correlation between five different variables and likelihood of voting. I’m going to move from those with little or no effect size, through to those with a large effect size.
This first correlation shows the relationship between urban/rural location and likelihood of voting
cor.test(elect_2013$rural_urban,
elect_2013$likelihood_vote)
##
## Pearson's product-moment correlation
##
## data: elect_2013$rural_urban and elect_2013$likelihood_vote
## t = 1.3682, df = 3801, p-value = 0.1713
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.009604256 0.053932694
## sample estimates:
## cor
## 0.02218662
You should see something like the following in your console window:
# Pearson's product-moment correlation
# data: elect_2013$rural_urban and elect_2013$likelihood_vote
# t = 1.3682, df = 3801, p-value = 0.1713
# alternative hypothesis: true correlation is not equal to 0
# 95 percent confidence interval:
# -0.009604256 0.053932694
# sample estimates:
# cor
# 0.02218662
How do we read this?
Remember the first thing to do is to look at the p-value. In this case it is 0.17, which is greater that 0.05, so we can safely say the correlation coefficient is not significantly different from zero.
We can also see this when we look at the 95% confidence interval, which is from -0.0096 to 0.053. Notice that the 95% confidence interval includes zero, which means that we can’t be confident the true parameter is not zero.
We can also see that the correlation coefficient is 0.022 - which is tiny. Remember that a correlation of 0.1 is considered a small effect size, and this is one fifth of that.
Let’s next look at the effect of highest educational qualification:
cor.test(elect_2013$highest_qual,
elect_2013$likelihood_vote)
##
## Pearson's product-moment correlation
##
## data: elect_2013$highest_qual and elect_2013$likelihood_vote
## t = 2.2845, df = 3768, p-value = 0.0224
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.005274304 0.069031936
## sample estimates:
## cor
## 0.03719097
in this case, the p-value is below 0.05, so the correlation is significant, but when you look at the correlation coefficient - it is basically 0.04, which again is tiny. So this is a case of ‘significant’ but ‘not very meaningful’.
Next let’s look at the impact of internet skills on the likelihood of voting:
cor.test(elect_2013$internet_skills, elect_2013$likelihood_vote)
##
## Pearson's product-moment correlation
##
## data: elect_2013$internet_skills and elect_2013$likelihood_vote
## t = 5.3871, df = 3924, p-value = 7.581e-08
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.05454612 0.11665164
## sample estimates:
## cor
## 0.08568211
In this case, the correlation is highly significant and the effect size - basically 0.09 - is small but meaningful. So those people who have better internet skills tend to be more likely to vote.
Next let’s look at something with a much larger effect size: political knowledge.
cor.test(elect_2013$pol_knowledge, elect_2013$likelihood_vote)
##
## Pearson's product-moment correlation
##
## data: elect_2013$pol_knowledge and elect_2013$likelihood_vote
## t = 25.086, df = 3924, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3444878 0.3984125
## sample estimates:
## cor
## 0.3717637
In this case the p-value is incredibly small, and the correlation coefficient is 0.37 - a medium sized effect.
Last, let’s look at the impact of interest in politics:
cor.test(elect_2013$interest_pol, elect_2013$likelihood_vote)
##
## Pearson's product-moment correlation
##
## data: elect_2013$interest_pol and elect_2013$likelihood_vote
## t = -37.759, df = 3913, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.5393668 -0.4934340
## sample estimates:
## cor
## -0.5167722
In this case the relationship is highly significant and effect size is large, but the relationship is negative: -0.52.
Does this mean that people who are interested in politics are less likely to vote? Are those interested in politics all anarchists?
What do you think?
When you get a result like this, you should check two things: your codebook, and your data-entry/data cleaning.
If you look at the codebook, then you will find that “interest_pol” is reverse coded. (1) = A good deal of interest in politics, while (4) = None (no interest in politics).
Thus, the real meaning of this correlation is that those who are more interested in politics are much more likely to say they will vote.
In fact, we can say that approximately 25% of the variance in likelihood of voting is explained by variance in interest in politics (by calculating the R-square).
AN EASY WAY TO MAKE A CORRELATION MATRIX
The command I have taught you above - cor.test() - is fine for testing the relationship between just two variables. However, often you want to be able to look at the correlations between a large set of variables all the at the one time.
Actually many journal articles expect you to produce a correlation matrix of all your variables as a prelude to then running a linear regression model.
I have found a function on the internet which will allow you to easily make your own correlation matrix.
The function is called ‘corstar()’.
NOTE: To use it, you first need to run the code below and create the function in the memory of your computer.
You don’t need to understand the code, but do feel free to take a look.
When you are ready run the code from where I type #START HERE# to #END HERE#
corstars <-function(x, method=c("pearson", "spearman"),
removeTriangle=c("upper", "lower"),
result=c("none", "html", "latex")){
# SOURCES:
# * http://www.sthda.com/english/wiki/elegant-correlation-table-using-xtable-r-package
# * http://myowelt.blogspot.com/2008/04/beautiful-correlation-tables-in-r.html
# * https://stat.ethz.ch/pipermail/r-help/2008-March/156583.html
#Compute correlation matrix
require(Hmisc)
x <- as.matrix(x)
correlation_matrix<-rcorr(x, type=method[1])
R <- correlation_matrix$r
# Matrix of correlation coeficients
p <- correlation_matrix$P
# Matrix of p-value
## Define notions for significance levels; spacing is important.
mystars <- ifelse(p < .0001, "****",
ifelse(p < .001, "*** ",
ifelse(p < .01, "** ",
ifelse(p < .05, "* ", " "))))
## trunctuate the correlation matrix to two decimal
R <- format(round(cbind(rep(-1.11,
ncol(x)), R), 2))[,-1]
## build a new matrix that includes the correlations with their apropriate stars
Rnew <- matrix(paste(R, mystars, sep=""), ncol=ncol(x))
diag(Rnew) <- paste(diag(R), " ", sep="")
rownames(Rnew) <- colnames(x)
colnames(Rnew) <- paste(colnames(x), "", sep="")
## remove upper triangle of correlation matrix
if(removeTriangle[1]=="upper"){
Rnew <- as.matrix(Rnew)
Rnew[upper.tri(Rnew, diag = TRUE)] <- ""
Rnew <- as.data.frame(Rnew)
}
## remove lower triangle of correlation matrix
else if(removeTriangle[1]=="lower"){
Rnew <- as.matrix(Rnew)
Rnew[lower.tri(Rnew, diag = TRUE)] <- ""
Rnew <- as.data.frame(Rnew)
}
## remove last column and return the correlation matrix
Rnew <- cbind(Rnew[1:length(Rnew)-1])
if (result[1]=="none") return(Rnew)
else{
if(result[1]=="html") print(xtable(Rnew), type="html")
else print(xtable(Rnew), type="latex")
}
}
If you have run that code, then the code should have appeared in your console window, but nothing else should have happened.
You have loaded ‘corstars()’ into your computer you can now run the corstars command and generate a correlation matrix.
I have created the code below to allow you to run, save, and view the output of corstars().
The three lines of code below will:
Feel free to run the following code:
x <- print(xtable(corstars(elect_2013)), type="html")
dput(x, file = "output.html")
browseURL("output.html")
| pol_knowledge | likelihood_vote | know1 | know2 | know3 | know4 | know5 | know6 | know7 | know8 | know9 | know10 | general_internet | election_internet | internet_skills | int_attch | int_post | int_blog | int_down | election_newspaper | election_tv | election_radio | female | highest_qual | tertiary_ed | country_birth | aust_born | age | income | rural_urban | interest_pol | age_cat | age_18_24 | weight | know1_correct | know2_correct | know3_correct | know4_correct | know5_correct | know6_correct | know7_correct | know8_correct | know9_correct | know10_correct | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pol_knowledge | ||||||||||||||||||||||||||||||||||||||||||||
| likelihood_vote | 0.37**** | |||||||||||||||||||||||||||||||||||||||||||
| know1 | -0.60**** | -0.26**** | ||||||||||||||||||||||||||||||||||||||||||
| know2 | -0.64**** | -0.26**** | 0.38**** | |||||||||||||||||||||||||||||||||||||||||
| know3 | -0.23**** | -0.17**** | 0.28**** | 0.29**** | ||||||||||||||||||||||||||||||||||||||||
| know4 | -0.51**** | -0.18**** | 0.29**** | 0.34**** | 0.24**** | |||||||||||||||||||||||||||||||||||||||
| know5 | -0.15**** | -0.14**** | 0.28**** | 0.21**** | 0.25**** | 0.21**** | ||||||||||||||||||||||||||||||||||||||
| know6 | -0.31**** | -0.19**** | 0.31**** | 0.28**** | 0.27**** | 0.24**** | 0.22**** | |||||||||||||||||||||||||||||||||||||
| know7 | -0.45**** | -0.23**** | 0.29**** | 0.28**** | 0.17**** | 0.21**** | 0.16**** | 0.21**** | ||||||||||||||||||||||||||||||||||||
| know8 | -0.59**** | -0.27**** | 0.34**** | 0.34**** | 0.20**** | 0.26**** | 0.17**** | 0.26**** | 0.35**** | |||||||||||||||||||||||||||||||||||
| know9 | -0.59**** | -0.29**** | 0.32**** | 0.37**** | 0.18**** | 0.29**** | 0.16**** | 0.26**** | 0.32**** | 0.41**** | ||||||||||||||||||||||||||||||||||
| know10 | -0.42**** | -0.22**** | 0.27**** | 0.25**** | 0.20**** | 0.20**** | 0.16**** | 0.17**** | 0.29**** | 0.32**** | 0.29**** | |||||||||||||||||||||||||||||||||
| general_internet | -0.19**** | -0.07**** | 0.15**** | 0.14**** | 0.00 | 0.00 | 0.06*** | 0.06*** | 0.08**** | 0.12**** | 0.11**** | 0.07**** | ||||||||||||||||||||||||||||||||
| election_internet | -0.45**** | -0.23**** | 0.29**** | 0.28**** | 0.17**** | 0.21**** | 0.16**** | 0.21**** | 1.00**** | 0.35**** | 0.32**** | 0.29**** | 0.08**** | |||||||||||||||||||||||||||||||
| internet_skills | 0.21**** | 0.09**** | -0.16**** | -0.13**** | 0.00 | 0.02 | -0.07**** | -0.04** | -0.04* | -0.11**** | -0.11**** | -0.05** | -0.74**** | -0.04* | ||||||||||||||||||||||||||||||
| int_attch | 0.22**** | 0.10**** | -0.15**** | -0.12**** | -0.01 | 0.00 | -0.06*** | -0.06*** | -0.08**** | -0.12**** | -0.11**** | -0.07**** | -0.80**** | -0.08**** | 0.78**** | |||||||||||||||||||||||||||||
| int_post | 0.13**** | 0.04** | -0.11**** | -0.07**** | 0.02 | 0.02 | -0.04* | -0.02 | 0.00 | -0.06**** | -0.08**** | 0.00 | -0.54**** | 0.00 | 0.84**** | 0.53**** | ||||||||||||||||||||||||||||
| int_blog | 0.07**** | 0.02 | -0.09**** | -0.06**** | 0.00 | 0.04* | -0.03 | -0.02 | 0.01 | -0.02 | -0.05*** | 0.00 | -0.26**** | 0.01 | 0.60**** | 0.24**** | 0.40**** | |||||||||||||||||||||||||||
| int_down | 0.21**** | 0.09**** | -0.16**** | -0.14**** | 0.00 | 0.00 | -0.07**** | -0.04* | -0.06*** | -0.13**** | -0.11**** | -0.07**** | -0.62**** | -0.06*** | 0.85**** | 0.60**** | 0.60**** | 0.34**** | ||||||||||||||||||||||||||
| election_newspaper | -0.30**** | -0.33**** | 0.16**** | 0.21**** | 0.13**** | 0.18**** | 0.09**** | 0.14**** | 0.22**** | 0.24**** | 0.23**** | 0.19**** | 0.02 | 0.22**** | 0.00 | -0.03 | 0.02 | 0.02 | -0.01 | |||||||||||||||||||||||||
| election_tv | -0.28**** | -0.38**** | 0.16**** | 0.18**** | 0.13**** | 0.15**** | 0.08**** | 0.16**** | 0.24**** | 0.21**** | 0.24**** | 0.17**** | -0.01 | 0.24**** | 0.01 | -0.02 | 0.02 | 0.04* | 0.01 | 0.44**** | ||||||||||||||||||||||||
| election_radio | -0.31**** | -0.29**** | 0.17**** | 0.22**** | 0.13**** | 0.18**** | 0.07*** | 0.12**** | 0.19**** | 0.22**** | 0.21**** | 0.16**** | 0.02 | 0.19**** | -0.03 | -0.05** | -0.01 | 0.02 | -0.04** | 0.35**** | 0.40**** | |||||||||||||||||||||||
| female | -0.18**** | -0.03 | 0.07**** | 0.08**** | -0.02 | 0.07**** | 0.00 | 0.02 | 0.09**** | 0.13**** | 0.12**** | 0.09**** | 0.00 | 0.09**** | -0.01 | 0.01 | 0.03* | -0.02 | -0.05*** | 0.12**** | 0.06*** | 0.10**** | ||||||||||||||||||||||
| highest_qual | -0.01 | 0.04* | 0.00 | -0.02 | -0.01 | 0.00 | -0.02 | -0.01 | -0.02 | -0.02 | -0.02 | 0.00 | -0.01 | -0.02 | -0.01 | 0.03 | -0.03 | -0.06*** | 0.01 | 0.00 | -0.03* | -0.03 | -0.12**** | |||||||||||||||||||||
| tertiary_ed | 0.24**** | 0.10**** | -0.18**** | -0.19**** | -0.03 | -0.06*** | -0.01 | -0.03 | -0.08**** | -0.13**** | -0.15**** | -0.12**** | -0.31**** | -0.08**** | 0.36**** | 0.27**** | 0.28**** | 0.22**** | 0.31**** | -0.05** | -0.02 | -0.08**** | 0.03 | -0.26**** | ||||||||||||||||||||
| country_birth | -0.03 | -0.02 | 0.15**** | 0.04* | 0.04* | 0.05** | 0.08**** | 0.06*** | 0.06*** | -0.02 | -0.01 | -0.05** | 0.00 | 0.06*** | 0.00 | -0.01 | 0.02 | 0.01 | -0.01 | -0.03 | -0.06*** | 0.01 | -0.02 | -0.02 | 0.10**** | |||||||||||||||||||
| aust_born | 0.00 | 0.01 | -0.13**** | -0.01 | -0.02 | -0.01 | -0.05** | -0.05** | -0.03 | 0.03 | 0.02 | 0.07**** | -0.03 | -0.03 | 0.03 | 0.04* | 0.01 | 0.02 | 0.03 | 0.04* | 0.06*** | -0.01 | 0.03* | -0.01 | -0.05** | -0.80**** | ||||||||||||||||||
| age | 0.18**** | 0.16**** | -0.04* | -0.09**** | -0.08**** | -0.20**** | -0.06*** | -0.06*** | -0.13**** | -0.12**** | -0.11**** | -0.17**** | 0.48**** | -0.13**** | -0.54**** | -0.44**** | -0.46**** | -0.32**** | -0.42**** | -0.19**** | -0.17**** | -0.12**** | -0.06**** | 0.03 | -0.20**** | 0.01 | -0.11**** | |||||||||||||||||
| income | 0.19**** | 0.10**** | -0.14**** | -0.15**** | -0.01 | -0.01 | -0.04** | -0.05** | -0.08**** | -0.14**** | -0.13**** | -0.07**** | -0.44**** | -0.08**** | 0.41**** | 0.41**** | 0.31**** | 0.17**** | 0.35**** | -0.09**** | -0.04* | -0.12**** | -0.03 | -0.03 | 0.32**** | -0.02 | 0.04* | -0.34**** | ||||||||||||||||
| rural_urban | 0.12**** | 0.02 | -0.08**** | -0.09**** | -0.02 | -0.01 | 0.00 | -0.02 | -0.02 | -0.06*** | -0.07**** | -0.08**** | -0.17**** | -0.02 | 0.16**** | 0.15**** | 0.13**** | 0.10**** | 0.12**** | -0.06*** | -0.04* | -0.02 | 0.01 | -0.05** | 0.16**** | 0.10**** | -0.09**** | -0.11**** | 0.20**** | |||||||||||||||
| interest_pol | -0.48**** | -0.52**** | 0.29**** | 0.32**** | 0.21**** | 0.25**** | 0.14**** | 0.21**** | 0.32**** | 0.37**** | 0.36**** | 0.29**** | 0.08**** | 0.32**** | -0.09**** | -0.09**** | -0.05** | -0.04** | -0.09**** | 0.52**** | 0.55**** | 0.45**** | 0.13**** | -0.01 | -0.14**** | 0.01 | 0.00 | -0.23**** | -0.11**** | -0.02 | ||||||||||||||
| age_cat | 0.18**** | 0.17**** | -0.04* | -0.09**** | -0.08**** | -0.19**** | -0.06*** | -0.06*** | -0.14**** | -0.13**** | -0.10**** | -0.18**** | 0.43**** | -0.14**** | -0.51**** | -0.39**** | -0.45**** | -0.33**** | -0.40**** | -0.19**** | -0.18**** | -0.13**** | -0.06**** | 0.04* | -0.19**** | 0.03 | -0.12**** | 0.96**** | -0.32**** | -0.12**** | -0.24**** | |||||||||||||
| age_18_24 | -0.11**** | -0.12**** | -0.01 | 0.05** | 0.01 | 0.08**** | 0.04* | 0.01 | 0.13**** | 0.12**** | 0.07**** | 0.15**** | -0.14**** | 0.13**** | 0.23**** | 0.13**** | 0.20**** | 0.22**** | 0.16**** | 0.10**** | 0.08**** | 0.09**** | 0.02 | -0.08**** | -0.04* | -0.03* | 0.07**** | -0.48**** | 0.03 | 0.02 | 0.15**** | -0.54**** | ||||||||||||
| weight | -0.17**** | -0.27**** | 0.06*** | 0.08**** | 0.09**** | 0.15**** | 0.08**** | 0.06*** | 0.12**** | 0.14**** | 0.12**** | 0.14**** | -0.21**** | 0.12**** | 0.28**** | 0.19**** | 0.26**** | 0.20**** | 0.22**** | 0.17**** | 0.18**** | 0.14**** | -0.02 | 0.00 | 0.10**** | 0.01 | 0.06*** | -0.60**** | 0.12**** | 0.06*** | 0.24**** | -0.64**** | 0.37**** | |||||||||||
| know1_correct | 0.59**** | 0.25**** | -0.98**** | -0.36**** | -0.27**** | -0.27**** | -0.26**** | -0.29**** | -0.27**** | -0.33**** | -0.30**** | -0.26**** | -0.14**** | -0.27**** | 0.16**** | 0.15**** | 0.11**** | 0.09**** | 0.15**** | -0.15**** | -0.15**** | -0.17**** | -0.07**** | -0.01 | 0.17**** | -0.15**** | 0.13**** | 0.04* | 0.14**** | 0.07**** | -0.28**** | 0.03 | 0.01 | -0.06*** | ||||||||||
| know2_correct | 0.57**** | 0.22**** | -0.32**** | -0.95**** | -0.24**** | -0.29**** | -0.18**** | -0.23**** | -0.23**** | -0.28**** | -0.30**** | -0.20**** | -0.12**** | -0.23**** | 0.11**** | 0.11**** | 0.06**** | 0.05** | 0.12**** | -0.17**** | -0.15**** | -0.19**** | -0.06*** | 0.02 | 0.15**** | -0.04** | 0.01 | 0.07**** | 0.13**** | 0.09**** | -0.26**** | 0.07**** | -0.04* | -0.06*** | 0.30**** | |||||||||
| know3_correct | 0.61**** | 0.19**** | -0.30**** | -0.35**** | -0.03 | -0.27**** | -0.07**** | -0.16**** | -0.21**** | -0.27**** | -0.28**** | -0.22**** | -0.13**** | -0.21**** | 0.14**** | 0.12**** | 0.10**** | 0.06*** | 0.13**** | -0.15**** | -0.12**** | -0.15**** | -0.14**** | -0.02 | 0.18**** | 0.01 | -0.01 | 0.08**** | 0.14**** | 0.07**** | -0.26**** | 0.10**** | -0.06*** | -0.08**** | 0.29**** | 0.29**** | ||||||||
| know4_correct | 0.50**** | 0.16**** | -0.24**** | -0.28**** | -0.14**** | -0.85**** | -0.12**** | -0.16**** | -0.17**** | -0.21**** | -0.25**** | -0.17**** | 0.02 | -0.17**** | -0.03* | -0.01 | -0.03* | -0.05** | -0.01 | -0.16**** | -0.12**** | -0.16**** | -0.06**** | -0.02 | 0.08**** | -0.07**** | 0.01 | 0.24**** | -0.01 | -0.01 | -0.22**** | 0.23**** | -0.07**** | -0.16**** | 0.23**** | 0.25**** | 0.24**** | |||||||
| know5_correct | 0.52**** | 0.17**** | -0.22**** | -0.26**** | -0.08**** | -0.20**** | 0.30**** | -0.15**** | -0.17**** | -0.23**** | -0.24**** | -0.17**** | -0.06**** | -0.17**** | 0.04* | 0.06*** | 0.01 | 0.00 | 0.03 | -0.13**** | -0.15**** | -0.16**** | -0.11**** | 0.00 | 0.09**** | 0.01 | -0.02 | 0.11**** | 0.06*** | 0.07**** | -0.22**** | 0.11**** | -0.06*** | -0.09**** | 0.22**** | 0.21**** | 0.28**** | 0.17**** | ||||||
| know6_correct | 0.70**** | 0.24**** | -0.37**** | -0.37**** | -0.10**** | -0.26**** | -0.09**** | -0.17**** | -0.28**** | -0.33**** | -0.38**** | -0.25**** | -0.15**** | -0.28**** | 0.14**** | 0.14**** | 0.07**** | 0.06*** | 0.14**** | -0.21**** | -0.19**** | -0.19**** | -0.14**** | -0.01 | 0.14**** | -0.01 | -0.01 | 0.09**** | 0.13**** | 0.09**** | -0.31**** | 0.10**** | -0.03 | -0.10**** | 0.36**** | 0.31**** | 0.41**** | 0.26**** | 0.34**** | |||||
| know7_correct | 0.67**** | 0.30**** | -0.34**** | -0.33**** | -0.13**** | -0.29**** | -0.14**** | -0.19**** | -0.53**** | -0.39**** | -0.36**** | -0.36**** | -0.08**** | -0.53**** | 0.05** | 0.09**** | 0.00 | -0.01 | 0.06*** | -0.27**** | -0.25**** | -0.26**** | -0.13**** | -0.02 | 0.13**** | -0.05** | 0.03 | 0.23**** | 0.10**** | 0.07**** | -0.41**** | 0.23**** | -0.14**** | -0.19**** | 0.34**** | 0.27**** | 0.30**** | 0.27**** | 0.25**** | 0.43**** | ||||
| know8_correct | 0.59**** | 0.24**** | -0.30**** | -0.30**** | -0.16**** | -0.24**** | -0.14**** | -0.22**** | -0.30**** | -0.82**** | -0.35**** | -0.28**** | -0.09**** | -0.30**** | 0.08**** | 0.09**** | 0.03* | 0.01 | 0.10**** | -0.20**** | -0.20**** | -0.19**** | -0.14**** | 0.02 | 0.11**** | 0.02 | -0.03 | 0.13**** | 0.11**** | 0.06*** | -0.34**** | 0.14**** | -0.11**** | -0.14**** | 0.29**** | 0.25**** | 0.26**** | 0.21**** | 0.22**** | 0.32**** | 0.37**** | |||
| know9_correct | 0.63**** | 0.29**** | -0.30**** | -0.36**** | -0.14**** | -0.27**** | -0.14**** | -0.22**** | -0.30**** | -0.38**** | -0.83**** | -0.28**** | -0.11**** | -0.30**** | 0.12**** | 0.12**** | 0.07**** | 0.06*** | 0.13**** | -0.22**** | -0.23**** | -0.22**** | -0.12**** | 0.00 | 0.16**** | 0.00 | -0.01 | 0.12**** | 0.16**** | 0.08**** | -0.36**** | 0.12**** | -0.07**** | -0.13**** | 0.29**** | 0.29**** | 0.29**** | 0.25**** | 0.24**** | 0.41**** | 0.38**** | 0.36**** | ||
| know10_correct | 0.64**** | 0.24**** | -0.31**** | -0.31**** | -0.12**** | -0.23**** | -0.09**** | -0.15**** | -0.27**** | -0.35**** | -0.32**** | -0.39**** | -0.12**** | -0.27**** | 0.12**** | 0.12**** | 0.07**** | 0.06*** | 0.12**** | -0.21**** | -0.17**** | -0.23**** | -0.13**** | -0.02 | 0.20**** | 0.12**** | -0.12**** | 0.14**** | 0.10**** | 0.09**** | -0.35**** | 0.16**** | -0.12**** | -0.13**** | 0.30**** | 0.26**** | 0.31**** | 0.22**** | 0.27**** | 0.37**** | 0.45**** | 0.34**** | 0.33**** | |
| income_quintiles | 0.18**** | 0.09**** | -0.13**** | -0.14**** | -0.01 | -0.01 | -0.03* | -0.04* | -0.08**** | -0.13**** | -0.13**** | -0.07**** | -0.45**** | -0.08**** | 0.41**** | 0.42**** | 0.31**** | 0.17**** | 0.35**** | -0.07**** | -0.03 | -0.11**** | -0.03 | -0.02 | 0.32**** | -0.02 | 0.04* | -0.35**** | 0.98**** | 0.20**** | -0.10**** | -0.33**** | 0.03 | 0.12**** | 0.13**** | 0.13**** | 0.13**** | -0.02 | 0.06*** | 0.12**** | 0.09**** | 0.10**** | 0.15**** | 0.10**** |
The correlation matrix should open in your browser. Significance is indicated with stars:
This is the end of the Bivariate statistics R code/ R-script file. The class continues in the code "Week 2, Part 3, Linear Regression.R’


Job / Employee Finder
Welcome to My Job / Employee Finder
Create your job post and find job in 15 minutes!
New User "Job Seeker" Registration
First Name
First Name Error
Last Name
Last Name Error
Email
Email Error
Username
Username Error
Password
Password Error
Submit


The Magellanic King Crab also called Austral Spider Crab or Chilean Spider Crab, is a crustacean that lives in the coldest waters of southern South America.
 It has high content of proteins and essential amino acids and a low percentage of fat
More InfoSea urchins are more specifically called echinoids. Each animal has five glandular masses distributed radially, the gonads, called buds.
More InfoCarnivorous cold water fish, not native, in a first stage develops its life cycle in fresh water, then it is transported to the sea for cultivation.
More InfoOncorhynchus kisutch, is also known as Pacific salmon, coho salmon or silver salmon. During its oceanic stage, it has silver sides and a dark blue back.
More InfoTrout is the common name for a number of species of freshwater fish belonging to the genera Oncorhynchus, Salmo and
More InfoAbalone is a popular mollusk, especially for Asians and considered a true delicacy.
More InfoSea snails have the delicate appearance like a rose. Their texture and mild flavor allow them to be included in both hot and cold dishes.
More InfoThe soft part of the mollusk occupies practically the entire space of its shell, the latter measuring, respectively, between 11 and 15 centimeters long and between 9 and 10 cm wide.
More Info


Registration
Dates
| Early registration: | by April 30, 2011 |
| Late registration: | by May 31, 2011 |
| On-site registration: | afterwards |
Registration is now open! Register here!
Please read the following instructions before proceeding with your registration: this page contains information on fees, what they include, payment methods, cancellation policy, and student assistants.
There is one fee to register for the K-CAP 2011 main conference, workshops and tutorials. For the K-CAP 2011 main conference, workshops and tutorials: the standard rate; a discounted rate for ACM members; along with a student rate.
Advance – by April 30, 2011| ACM/SIG Members | $650 |
| Standard (Non-ACM/SIG Members) | $700 |
| Student | $400 |
Late – by May 31, 2011
| ACM/SIG Members | $750 |
| Standard (Non-ACM/SIG Members) | $800 |
| Student | $500 |
On-site
| ACM/SIG Members | $850 |
| Standard (Non-ACM/SIG Members) | $900 |
| Student | $600 |
Included in the Conference Fees:
Along with a copy of the proceedings of the main conference, the fees include:
- A poster reception, which will take place in the evening of Monday, June 27th.
- A ticket for the conference banquet, which will take place in the evening of Tuesday June 28th
- Access to any of the three workshops and two tutorials co-located with the conference
If you have any dietary needs, allergies or other requirements you can either tell us on the relevant page of the registration procedure, or you should be able to log in to RegOnline and change your details.
Other meals (e.g., lunches or breakfasts) will not be provided unless you are registered in the conference hotel, which we strongly encourage since the hotel is rather far from the Banff city centre and there are not many amenities around.
Banquet ticket
| One ticket for Non-Participant | $80 |
Payment Methods
You will be required to pay your registration fees when you register using the RegOnline site. Accepted methods of payment are Visa, Mastercard, Discover, Diners Club and American Express credit cards. These will also be accepted for on-site registration. It is also possible to pay via wire/bank transfer (this option will not be available on-site): to do this, select the "Wire Transfer" payment option, complete registration and contact us for details about making the money transfer.Cancellation policy
Registered attendees who cancel their registration will be entitled to the following refund, based on when their cancellation is processed:| Before April 30 | 75% |
| Before May 15 | 50% |
| Before May 31 | 20% |
| After June 1 | No refund |


Freddie Highmore joins Leonardo da Vinci drama series
LOS ANGELES, Nov 13 — The Good Doctor star has joined the cast of Leonardo, a TV drama that will centre on the life of iconic artist Leonardo da Vinci.
Frank Spotnitz (The Man in the High Castle) and writer Steve Thompson (Sherlock) will develop Leonardo, an English-language TV series that will portray the Renaissance genius as a gay outsider. Each episode will examine one of da Vinci’s artworks for clues about a tortured artist struggling to achieve perfection.
Highmore (Bates Motel, The Good Doctor) has signed on to play Stefano Giraldi, a fictional police detective who will dig into da Vinci’s past while investigating him as a suspect in a murder case.
The Alliance, a new co-production group formed by Italian public broadcaster RAI, France Televisions and ZDF in Germany is backing the show. Highmore’s production company, Alfresco Pictures, will join Italy’s Luxe Vide and Spotnitz’s Big Light Productions to produce the show. Highmore and Alfresco’s Claire Londy will executive produce.
Aiden Turner (Poldark) will play da Vinci, while Daniel Percival (The Man in the High Castle) will direct.
“Capturing the character of Leonardo has been one of the most fascinating and exciting challenges of my career,” Spotnitz said in a statement. “It’s hard to fathom that a man this extraordinary could even have existed, let alone the human impulses that drove him to achieve such extraordinary things.” — AFP-Relaxnews


Bhopal: Woman kills husband, buries body in kitchen
This sordid tale took place in village Karonda Tola in Annupur district.
by Rabindra Nath ChoudhuryBhopal: A woman in a Madhya Pradesh village allegedly strangled her husband and buried his body in her kitchen. Pramila Benawal suspected her husband Mahesh, a lawyer, of an affair with his sister-in-law, police said on Friday.
Police dug the body out of the kitchen late Thursday night following a tip-off by the deceased’s brother, Arjun Benawal.
This sordid tale took place in village Karonda Tola in Annupur district.
According to the station house officer (SHO) of Amarkantak police station, B.P. Singh, Arjun Benawal told the police on Thursday that he suspected his sister-in-law Pramila’s hand in the disappearance of his brother a month ago.
“A foul smell was emanating from my brother's house, missing since October 22,” the police quoted Arjun as saying. “I was denied entry by my sister-in-law, widow of Mahesh. I apprehend foul play in my brother's disappearance.”
Pramila had reported her husband missing at the local police station on October 22.


Decision 1
A mobile app platform
Since users expressed a desire for simplicity in regards to learning about skincare,
a mobile app was chosen for its ease of direct messaging users and sending images.
Providing images of your own skin or products is a specific and significant supplement beyond
pure description to diagnosing and treating skin issues. A mobile app platform makes this experience
easier than a website.
Decision 2
One-on-one messaging as the main form of communication
Users can toggle between friends and skincare professionals to message.
Because users expressed interested in forming connections with other people interested in skincare,
one-on-one messaging is the main method of communication in order to encourage more personal relationships
between users–this is the main reason why a forum or public question submission feature is not included.
Decision 3
Build a skincare network with users who will give you what you seek
When finding users, you automatically are shown people who will give you what you seek, whether it be advice or someone to advise.
The option to filter by age, location, skin type, or knowledge level is available, as these are important factors to treating different skin conditions at certain ages or in certain climates. This is particularly helpful to users who have concerns that are based on these factors.
Decision 4
A profile that contains key information about your skin and routine
Your profile will contain the key information for others to learn about your skin and assist you.
Users from the survey and beta testing were key to deciding what information to include.
They expressed particular interest in having a biography to showcase their personality and pique the interest of other users.
Having the user’s skincare knowledge level also gives others an extra parameter in determining how much to trust the user’s opinion.
The other key feature here is having succinct FAQs and introductory guides to skin type,
skin concerns, and routine formulation available as cards that overlay the screen.
It creates a better learning experience, especially targeting beginner skincare users.
Decision 5
A user-generated product library and sending product cards in messages
Inspired by the MyFitnessPal user-generated food library, X.ing implements a user-generated skincare product library
instead. This allows for easy adding of your own products and the ability to discover new products with real feedback.
One common complaint from users in the survey and beta testing was the hassle of looking up ingredients and organizing
the product's information. The user-generated product library reduces this trouble.
Another key chat feature is the ability to send product cards from your routine or the product library in direct messages. This eliminates the extra time and effort spent in looking up products online, allowing users to easily view product information without leaving the platform.


- If the map is running slowly for you, try toggling NSW. The map overlay is computationally expensive.
- Each state is split differently because I wanted to show the highest fidelity of data available. NSW is by postcode (which is what produces weird gaps and overlaps at the state borders), everywhere else is by Local Government Area.
- QLD used to be by Health and Hospital Service areas but The Guardian started releasing their scrape per LGA. Probably to normalise it against the other states I guess.
- You can grab the code or any assets used here like the mapping overlay data from this project's Github Repo
- The number for each area represents the historical cumulative total of cases in the area. It's possible that on any given day of viewing that there has been a majority or complete recovery.


The red blood cells started out as stem cells that went through a growth process. There are hormones produced in the body that help stir-up this growth process. One of these hormones is erythropoietin.
Since erythropoietin is produced in the kidney, patients who have CKD may not produce enough.
Anemia is due to insufficient iron. Without enough iron, your body can't produce enough of a substance in red blood cells that enables them to carry oxygen (hemoglobin).
One of the most common lifestyle changes recommended for people with iron deficiency anemia is adopting a healthy diet rich in iron and vitamins. Examples of iron-rich foods include: 1red meat, seafood, poultry, beans, leafy greens like spinach, iron-fortified cereals, pasta, and bread
The severity and symptoms of iron deficiency anemia vary from person to person. Your condition may be so mild its symptoms aren’t noticeable. On the other hand, you may experience a significant effect on your daily life. Some symptoms of iron deficiency anemia include: fatigue, weakness, dizziness, pale skin, cold hands and feet, sore or swollen tongue


[gecode-users] Possible Bug - Increase IntVars Range and Gecode Stalls
Christian Schulte
cschulte at kth.se
Mon Feb 17 16:05:19 CET 2014
Note that they are doing two different things: nooverlap guarantees that the
rectangles do not overlap. What you have copied beloew enforces as a
redundant constraint that the square is perfect, that is all the rectangles
cover the outer rectangle.
Best
Christian
--
Christian Schulte, Professor of Computer Science, KTH,
www.ict.kth.se/~cschulte/
From: Navid Mohaghegh [mailto:navid at navid.ca]
Sent: Monday, February 17, 2014 4:03 PM
To: cschulte at kth.se
Cc: users at gecode.org
Subject: Re: [gecode-users] Possible Bug - Increase IntVars Range and Gecode
Stalls
Hi Christian,
Thank you for your reply.
Yes, I did look at the Gecode example. Here is where I am referring in
gecode perfect squares example:
switch (opt.propagation()) {
case PROP_REIFIED:
{
for (int cx=0; cx<w; cx++) {
BoolVarArgs bx(*this,n,0,1);
for (int i=0; i<n; i++)
dom(*this, x[i], cx-s[i]+1, cx, bx[i]);
linear(*this, sa, bx, IRT_EQ, w);
}
for (int cy=0; cy<w; cy++) {
BoolVarArgs by(*this,n,0,1);
for (int i=0; i<n; i++)
dom(*this, y[i], cy-s[i]+1, cy, by[i]);
linear(*this, sa, by, IRT_EQ, w);
}
}
break;
Please note that I am using nooverlap as well. And the only thing I don't
have is "switch (opt.propagation())" ...
Thank you,
Navid
On Feb 17, 2014, at 9:57 AM, Christian Schulte <cschulte at kth.se> wrote:
Hi,
The Gecode example does not use a special propagator, have you been looking
at the example that is _included_ in Gecode?
Best
Christian
--
Christian Schulte, Professor of Computer Science, KTH,
<http://www.ict.kth.se/~cschulte/> www.ict.kth.se/~cschulte/
From: Navid Mohaghegh [mailto:navid at navid.ca]
Sent: Friday, February 14, 2014 3:25 PM
To: cschulte at kth.se
Cc: users at gecode.org
Subject: Re: [gecode-users] Possible Bug - Increase IntVars Range and Gecode
Stalls
Hi Christian,
Thank you for your reply.
I didn't use the word Stall properly. Sorry ... What I mean is that Gecode
will get keep searching forever! I am wondering if there is anything can be
improved in search strategy. Please note that for values less than 1200 we
get instant solution and as soon as we increase the range by 1, then
suddenly Gecode will keep searching forever (I left the computer on for 5
days!).
I studied the example for perfect square. The only difference between my
code and perfect square code is that I am not using custom made propagator.
Should I start doing that? And could you kindly point me for more reading on
propagator topic (I am still reading MPG chapter 22)?
Thank you,
Navid
On Jan 20, 2014, at 3:29 PM, Christian Schulte < <mailto:cschulte at kth.se>
cschulte at kth.se> wrote:
What does stall mean, again? Is it still searching (you can observe that in
Gist), that is making progress? Or is it dead.
To improve your model, check the perfect square example that comes with
Gecode and/or search for square packing on Helmut Simonis' webpage:
<http://4c.ucc.ie/~hsimonis/> http://4c.ucc.ie/~hsimonis/
Christian
--
Christian Schulte, <http://www.ict.kth.se/~cschulte>
www.ict.kth.se/~cschulte
From: <mailto:users-bounces at gecode.org> users-bounces at gecode.org [
<mailto:users-bounces at gecode.org> mailto:users-bounces at gecode.org] On Behalf
Of Navid Mohaghegh
Sent: Thursday, January 16, 2014 09:23 PM
To: <mailto:cschulte at kth.se> cschulte at kth.se; <mailto:users at gecode.org>
users at gecode.org
Subject: Re: [gecode-users] Possible Bug - Increase IntVars Range and Gecode
Stalls
Hi Christian,
Thank you for your reply.
I originally didn't use that as I didn't want to add another set of
variables for finishing corner of rectangles (Gecode nooverlap API has a
simple version that use fixed int width and int height).
Per your suggestion, I added two array variables for finishing corner that I
can employ the nooverlap API:
-defined integer array variables for starting point of rectangles (e.g. top
left corner): I called it vxs and vys (e.g. X0 and Y0 in Gecode MPG manual)
-defined integer array variables for width and height of rectangles: I
called it vw and vh (e.g. W and H in Gecode MPG manual)
-defined integer array variables for finishing point of rectangles (e.g.
lower right corner): I called it vxf and vyf (e.g. X1 and Y1 in Gecode MPG
manual)
-I removed all manual non-overllaping contraint that I manually added myself
and add the following:
//starting point width and hight will give us the finishing
point
for (i =0 ; i < this->n_vars; i++)
{
rel(*this, ( (vxs[i] + vw[i] == vxf[i]) && (vys[i] +
vh[i] == vyf[i]) ) );
}
//add nooverlap for all rectangles
nooverlap(*this, vxs,vw,vxf, vys,vh,vyf);
My code gets solved for lower ranges of X vars (e.g. vxs < 1000 and
vxf<1200) and the moment I change the x range to values greater than 1500
gecode stalls.
I appreciate your feedback.
Thank you,
Navid
On Jan 16, 2014, at 10:33 AM, Christian Schulte < <mailto:cschulte at kth.se>
cschulte at kth.se> wrote:
Hi,
Just very quick: did you look at the nooverlap constraint in Gecode?
Cheers
Christian
--
Christian Schulte, Professor of Computer Science, KTH,
<http://www.ict.kth.se/~cschulte/> www.ict.kth.se/~cschulte/
From: Navid Mohaghegh [ <mailto:navid at navid.ca> mailto:navid at navid.ca]
Sent: Thursday, January 16, 2014 3:32 PM
To: <mailto:users at gecode.org> users at gecode.org
Cc: <mailto:cschulte at kth.se> cschulte at kth.se
Subject: Re: [gecode-users] Possible Bug - Increase IntVars Range and Gecode
Stalls
Hi everyone,
I tried Gist as Christian mentioned. Gist will not terminate for higher
ranges (attached screenshot shows that I had to stop Gist manually for range
1535).
Could you please point me in the right direction about what I have to more
efficient for this problem:
-Like bin-packing problem, we have bunch of rectangles that shouldn't
overlap with each other.
-Unlike bin-packing, the width and hight of the rectangles can be variable
(e.g. if we have more space in our sheet, we don't mind a rectangle gets
bigger).
-We have bunch of constraint for the size and location of rectangles.
-In below, 15 rectangles, 4 array of variables (2 arrays for X,Y location
and 2 variables for Width,Height which is for size)
Could you please let me know?
Thank you,
Navid
<image001.png>
On Jan 14, 2014, at 11:42 AM, Christian Schulte < <mailto:cschulte at kth.se>
cschulte at kth.se> wrote:
The bug you refer to has been fixed. But try Gist, there you can see what
happens.
Cheers
Christian
--
Christian Schulte, Professor of Computer Science, KTH,
<http://www.ict.kth.se/~cschulte/> www.ict.kth.se/~cschulte/
From: <mailto:users-bounces at gecode.org> users-bounces at gecode.org [
<mailto:users-bounces at gecode.org> mailto:users-bounces at gecode.org] On Behalf
Of Navid Mohaghegh
Sent: Tuesday, January 14, 2014 5:39 PM
To: <mailto:cschulte at kth.se> cschulte at kth.se
Cc: <mailto:users at gecode.org> users at gecode.org
Subject: Re: [gecode-users] Possible Bug - Increase IntVars Range and Gecode
Stalls
Hi Christian,
Thank your for your reply. I didn't try Gist yet, I will go and look at
sample code to learn Gist and I will give it a shot.
Could you kindly have a look at this comment in mailing list: "There seems
to be a trivial bug in INT_VALUES_MAX: SEL_VALUES_MIN is used instead of
SEL_VALUES_MAX. The attached patch fixes it."
I am asking this as mu space get solved by Gecode almost instantly (less
than 1ms on a 128 GB ram, quad CPU, 64 cores workstation) for values like
1199. And the moment it goes to 1200 it will stalls. After all it should get
slow (I agree with you), but not stall/freeze for 5 days. That is the main
reason I suspect a tiny bug somewhere.
I will also look at Gist as well as you instructed.
Thank you,
Navid
On Jan 14, 2014, at 11:18 AM, Christian Schulte < <mailto:cschulte at kth.se>
cschulte at kth.se> wrote:
Did you try it in Gist to see how large the search trees get or whether
Gecode just hangs?
After all, you exponentially increase the search space!
Christian
--
Christian Schulte, Professor of Computer Science, KTH,
<http://www.ict.kth.se/~cschulte/> www.ict.kth.se/~cschulte/
From: <mailto:users-bounces at gecode.org> users-bounces at gecode.org [
<mailto:users-bounces at gecode.org> mailto:users-bounces at gecode.org] On Behalf
Of Navid Mohaghegh
Sent: Tuesday, January 14, 2014 5:04 PM
To: <mailto:users at gecode.org> users at gecode.org
Subject: [gecode-users] Possible Bug - Increase IntVars Range and Gecode
Stalls
Importance: High
Hi Everyone,
My question:
I am wondering what is happening in below and why Gecode stalls stall whenI
increase the range of my IntegerVars (while its CPU utilization goes very
high) despite the fact that our constraints are not changed?
Background ( <http://navid.ca/gecode/test.cpp>
http://navid.ca/gecode/test.cpp):
We are trying to solve a space. We can easily solve the space when our
variable ranges are small (e.g. 0 to 800). As soon as the range goes higher
(e.g. 0-1535) Gecode will stall and can not produce a solution for the space
with exactly the same constraints as before.
* We have 4 groups of integer_array variables. They are called vars_a,
vars_b, vars_c and vars_d. And inside each of them, we have 15 integer
variables.
* NavidTest(int n, int vars_a_max_, int vars_b_max_, int vars_c_max_,
int vars_d_max_, int vcost_max_);
* NavidTest* m = new NavidTest(15, 800, 500, 410, 60,<PHONE_NUMBER>);
means:
* n = 15
* vars_a[0] ... vars_a[15] can have values from zero to vars_a_max_ =
800
* vars_b[0] ... vars_b[15] can have values from zero to vars_b_max_ =
500
* vars_c[0] ... vars_c[15] can have values from zero to vars_c_max_ =
410
* vars_d[0] ... vars_d[15] can have values from zero to vars_d_max_ =
60
* our cost variable can be have values from zero to vcost_max_ =
2,000,000,000
* As we have quadratic cost functions and values can easily grow.
* lift() method is where we add our constraints.
* For demonstration purpose, we have a method that once used, Gecode
can produce solution: it is called "void the_one_works()"
* And we have another one (called: void the_one_doesnot_work) that can
not be solved using Gecode (it is perfectly solvable and we test our
solution in verify_answer() method)
* The only difference between the_one_works() and
the_one_doesnot_work() is an increase in vars_a max range from 800 to 1535.
I have found a mailing list entry stating a possible bug:
==========
From:
<http://gmane.org/get-address.php?address=victor.zverovich%2dRe5JQEeQqe8Avxt
iuMwx3w%40public.gmane.org> victor.zverovich at ... <
<http://gmane.org/get-address.php?address=victor.zverovich%2dRe5JQEeQqe8Avxt
iuMwx3w%40public.gmane.org> victor.zverovich at ...>
Subject:
<http://news.gmane.org/find-root.php?message_id=CANawtxb3jmzB754b7zWaZMuG76T
7KJBwAj1PP%2bMmHgJL%3d0EKVQ%40mail.gmail.com> bug in INT_VALUES_MAX
Newsgroups: <http://news.gmane.org/gmane.comp.lib.gecode.user>
gmane.comp.lib.gecode.user
Date: 2013-06-21 22:20:18 GMT (29 weeks, 3 days, 17 hours and 17 minutes
ago)
There seems to be a trivial bug in INT_VALUES_MAX: SEL_VALUES_MIN is used
instead of SEL_VALUES_MAX. The attached patch fixes it.
Victor
==========
Can someone have a look and let me know?
* We are using Gecode 4.2.1 on Linux
* GCC 4.7.2 and also latest 4.9
* Debian 64bit and CentOS 64bit
* My code and how I compile and run is here:
<http://navid.ca/gecode/test.cpp> http://navid.ca/gecode/test.cpp
Thank you,
Navid
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20140217/b84f0824/attachment-0001.html>
More information about the users
mailing list


currently selected:
9 mins
9 mins
SVG shape description
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.


I'm currently a Software Developer at Loblaw Digital, working on the Product Catalog Team. Our mantra is to power the PC Express Online Grocery shopping experience by providing a best-in-class backend service. To achieve this, we use an Elixir and Phoenix stack for high scalability and uptime - allowing thousands of concurrent connections and live deployments with no downtime. My previous workterms include the IESO, Sunlife Financial and the CPP Investment Board. See my resume for more info.
I graduated from Wilfrid Laurier University with a double degree in Computer Science and Business Administration (w/ Finance option). I have a strong interest in quantitative fields such as programming, accounting, finance, mathematics and cryptography.
I love photography, squash, juggling and chess. I'm always looking to improve my skills.


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object android.support.v4.util.LruCache<K,V>
public class LruCache<K,V>
Static library version of android.util.LruCache
. Used to write apps
that run on API levels prior to 12. When running on API level 12 or above,
this implementation is still used; it does not try to switch to the
framework's implementation. See the framework SDK documentation for a class
overview.
| Constructor Summary | |
|---|---|
LruCache(int maxSize)
|
| Method Summary | |
|---|---|
protected V |
create(K key)
Called after a cache miss to compute a value for the corresponding key. |
int |
createCount()
Returns the number of times create(Object) returned a value. |
protected void |
entryRemoved(boolean evicted,
K key,
V oldValue,
V newValue)
Called for entries that have been evicted or removed. |
void |
evictAll()
Clear the cache, calling entryRemoved(boolean, K, V, V) on each removed entry. |
int |
evictionCount()
Returns the number of values that have been evicted. |
V |
get(K key)
Returns the value for key if it exists in the cache or can be
created by #create . |
int |
hitCount()
Returns the number of times get(K) returned a value. |
int |
maxSize()
For caches that do not override sizeOf(K, V) , this returns the maximum
number of entries in the cache. |
int |
missCount()
Returns the number of times get(K) returned null or required a new
value to be created. |
V |
put(K key,
V value)
Caches value for key . |
int |
putCount()
Returns the number of times put(K, V) was called. |
V |
remove(K key)
Removes the entry for key if it exists. |
int |
size()
For caches that do not override sizeOf(K, V) , this returns the number
of entries in the cache. |
protected int |
sizeOf(K key,
V value)
Returns the size of the entry for key and value in
user-defined units. |
java.util.Map<K,V> |
snapshot()
Returns a copy of the current contents of the cache, ordered from least recently accessed to most recently accessed. |
java.lang.String |
toString()
|
void |
trimToSize(int maxSize)
Remove the eldest entries until the total of remaining entries is at or below the requested size. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public LruCache(int maxSize)
maxSize
- for caches that do not override sizeOf(K, V)
, this is
the maximum number of entries in the cache. For all other caches,
this is the maximum sum of the sizes of the entries in this cache.| Method Detail |
|---|
public final V get(K key)
key
if it exists in the cache or can be
created by #create
. If a value was returned, it is moved to the
head of the queue. This returns null if a value is not cached and cannot
be created.
public final V put(K key, V value)
value
for key
. The value is moved to the head of
the queue.
key
.public void trimToSize(int maxSize)
maxSize
- the maximum size of the cache before returning. May be -1
to evict even 0-sized elements.public final V remove(K key)
key
if it exists.
key
.protected void entryRemoved(boolean evicted, K key, V oldValue, V newValue)
remove(K)
, or replaced by a call to put(K, V)
. The default
implementation does nothing.
The method is called without synchronization: other threads may access the cache while this method is executing.
evicted
- true if the entry is being removed to make space, false
if the removal was caused by a put(K, V)
or remove(K)
.newValue
- the new value for key
, if it exists. If non-null,
this removal was caused by a put(K, V)
. Otherwise it was caused by
an eviction or a remove(K)
.protected V create(K key)
The method is called without synchronization: other threads may access the cache while this method is executing.
If a value for key
exists in the cache when this method
returns, the created value will be released with entryRemoved(boolean, K, V, V)
and discarded. This can occur when multiple threads request the same key
at the same time (causing multiple values to be created), or when one
thread calls put(K, V)
while another is creating a value for the same
key.
protected int sizeOf(K key, V value)
key
and value
in
user-defined units. The default implementation returns 1 so that size
is the number of entries and max size is the maximum number of entries.
An entry's size must not change while it is in the cache.
public final void evictAll()
entryRemoved(boolean, K, V, V)
on each removed entry.
public final int size()
sizeOf(K, V)
, this returns the number
of entries in the cache. For all other caches, this returns the sum of
the sizes of the entries in this cache.
public final int maxSize()
sizeOf(K, V)
, this returns the maximum
number of entries in the cache. For all other caches, this returns the
maximum sum of the sizes of the entries in this cache.
public final int hitCount()
get(K)
returned a value.
public final int missCount()
get(K)
returned null or required a new
value to be created.
public final int createCount()
create(Object)
returned a value.
public final int putCount()
put(K, V)
was called.
public final int evictionCount()
public final java.util.Map<K,V> snapshot()
public final java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Checkout with Paypal
Shipping Address
16 saint killian park
Clondalkin
Dunblin
Ireland
Order Summary
Payment Total:
€39.99


2 Chronicles 23:16
And Jehoiada made a covenant between him, and between all the people, and between the king, that they should be the LORD's people.


#include <axiom_xml_writer.h>
Public Attributes | |
| void(* | free )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| axis2_status_t(* | write_start_element )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname) |
| axis2_status_t(* | end_start_element )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| axis2_status_t(* | write_start_element_with_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri) |
| axis2_status_t(* | write_start_element_with_namespace_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix) |
| axis2_status_t(* | write_empty_element )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname) |
| axis2_status_t(* | write_empty_element_with_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri) |
| axis2_status_t(* | write_empty_element_with_namespace_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix) |
| axis2_status_t(* | write_end_element )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| axis2_status_t(* | write_end_document )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| axis2_status_t(* | write_attribute )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value) |
| axis2_status_t(* | write_attribute_with_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri) |
| axis2_status_t(* | write_attribute_with_namespace_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri, axis2_char_t *prefix) |
| axis2_status_t(* | write_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *namespace_uri) |
| axis2_status_t(* | write_default_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *namespace_uri) |
| axis2_status_t(* | write_comment )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *value) |
| axis2_status_t(* | write_processing_instruction )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target) |
| axis2_status_t(* | write_processing_instruction_data )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target, axis2_char_t *data) |
| axis2_status_t(* | write_cdata )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *data) |
| axis2_status_t(* | write_dtd )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *dtd) |
| axis2_status_t(* | write_entity_ref )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *name) |
| axis2_status_t(* | write_start_document )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| axis2_status_t(* | write_start_document_with_version )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version) |
| axis2_status_t(* | write_start_document_with_version_encoding )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version, axis2_char_t *encoding) |
| axis2_status_t(* | write_characters )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text) |
| axis2_char_t *(* | get_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri) |
| axis2_status_t(* | set_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *uri) |
| axis2_status_t(* | set_default_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri) |
| axis2_status_t(* | write_encoded )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text, int in_attr) |
| void *(* | get_xml )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| unsigned int(* | get_xml_size )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| int(* | get_type )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| axis2_status_t(* | write_raw )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *content) |
| axis2_status_t(* | flush )(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| void( * axiom_xml_writer_ops::free)(axiom_xml_writer_t *writer, const axutil_env_t *env) |
Free xml writer
| writer | pointer to xml_writer struct to be freed | |
| env | environment, MUST NOT be NULL. |
| axis2_status_t( * axiom_xml_writer_ops::write_start_element)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname) |
Write a start tag to output stream with localname. Internally the writer keeps track of the opened tags
| writer | pointer to xml writer struct | |
| env | environment. MUST NOT be NULL. | |
| localname | localname of the tag, May not be NULL. |
| axis2_status_t( * axiom_xml_writer_ops::end_start_element)(axiom_xml_writer_t *writer, const axutil_env_t *env) |
write an end tag to the output relying on the internal state of writer to determine the prefix and localname of the element
| writer | xml_writer struct | |
| env | environment, MUST NOT be NULL. |
| axis2_status_t( * axiom_xml_writer_ops::write_start_element_with_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri) |
Write an element tag with localname and namespace uri
| writer | pointer to xml writer struct | |
| env | environment struct | |
| localname | localname of the tag, May not be null. | |
| namespace_uri | the namespace URI of the the pefix to use.may not be null. |
| axis2_status_t( * axiom_xml_writer_ops::write_start_element_with_namespace_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix) |
write a start tag to output
| writer | pointer to xml_writer struct | |
| environment,MUST | NOT be NULL. | |
| localname | localname of the tag, May not be null. | |
| namespace_uri | namespace to bind the prefix to | |
| prefix | the prefix to the tag.May not be NULL. |
| axis2_status_t( * axiom_xml_writer_ops::write_empty_element)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname) |
write an element tag with localname
| writer | xml_writer | |
| env | environment | |
| localname | localname |
| axis2_status_t( * axiom_xml_writer_ops::write_empty_element_with_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri) |
write empty_element with localname and namespace uri.
| writer | xml writer | |
| env | environment | |
| localname | localname | |
| namespace | uri |
| axis2_status_t( * axiom_xml_writer_ops::write_empty_element_with_namespace_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix) |
write empty element with namespace uri and prefix
| writer | xml_writer | |
| env | environment | |
| localname | localname | |
| namespace_uri | namespace uri | |
| prefix | prefix |
| axis2_status_t( * axiom_xml_writer_ops::write_end_element)(axiom_xml_writer_t *writer, const axutil_env_t *env) |
write end tag with correct localname prefix resolved internally
| writer | xml writer | |
| env | environment |
| axis2_status_t( * axiom_xml_writer_ops::write_end_document)(axiom_xml_writer_t *writer, const axutil_env_t *env) |
write end document
| writer | xml writer | |
| env | environment |
| axis2_status_t( * axiom_xml_writer_ops::write_attribute)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value) |
write attribute with localname and value
| writer | writer | |
| env | environment | |
| localname | localname | |
| value | text value of attribute |
| axis2_status_t( * axiom_xml_writer_ops::write_attribute_with_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri) |
| writer | ||
| env | environment | |
| localname | ||
| value | text value of attribute | |
| namespace | uri namespace uri |
| axis2_status_t( * axiom_xml_writer_ops::write_attribute_with_namespace_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri, axis2_char_t *prefix) |
| writer | xml_writer | |
| env | environment | |
| localname | localname | |
| value | text value of attribute | |
| namespace | uri namespaceuri | |
| prefix | prefix |
| axis2_status_t( * axiom_xml_writer_ops::write_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *namespace_uri) |
| writer | xml_writer | |
| env | environment | |
| prefix | prefix | |
| namespace | uri namespaceuri |
| axis2_status_t( * axiom_xml_writer_ops::write_default_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *namespace_uri) |
| writer | xml_writer | |
| env | environment | |
| namespace | uri namespaceuri |
| axis2_status_t( * axiom_xml_writer_ops::write_comment)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *value) |
| writer | xml_writer | |
| env | environment | |
| value | value |
| axis2_status_t( * axiom_xml_writer_ops::write_processing_instruction)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target) |
| writer | xml_writer | |
| env | environment | |
| target | pi target |
| axis2_status_t( * axiom_xml_writer_ops::write_processing_instruction_data)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target, axis2_char_t *data) |
| writer | xml_writer | |
| env | environment | |
| target | pi target | |
| data | pi data |
| axis2_status_t( * axiom_xml_writer_ops::write_cdata)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *data) |
| writer | xml_writer | |
| env | environment | |
| data | cdata |
| axis2_status_t( * axiom_xml_writer_ops::write_dtd)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *dtd) |
| writer | xml_writer | |
| env | environment | |
| dtd | dtd |
| axis2_status_t( * axiom_xml_writer_ops::write_entity_ref)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *name) |
| writer | xml_writer | |
| env | environment | |
| name | name |
| axis2_status_t( * axiom_xml_writer_ops::write_start_document)(axiom_xml_writer_t *writer, const axutil_env_t *env) |
| writer | xml_writer | |
| env | environment |
| axis2_status_t( * axiom_xml_writer_ops::write_start_document_with_version)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version) |
| writer | xml_writer | |
| env | environment | |
| version | version |
| axis2_status_t( * axiom_xml_writer_ops::write_start_document_with_version_encoding)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version, axis2_char_t *encoding) |
| writer | xml_writer | |
| env | environment | |
| version | version | |
| encoding | encoding |
| axis2_status_t( * axiom_xml_writer_ops::write_characters)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text) |
| writer | xml_writer | |
| env | environment | |
| text | text |
| axis2_char_t*( * axiom_xml_writer_ops::get_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri) |
| writer | xml_writer | |
| env | environment | |
| uri | uri |
| axis2_status_t( * axiom_xml_writer_ops::set_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *uri) |
| writer | xml_writer | |
| env | environment | |
| prefix | prefix | |
| uri | uri |
| axis2_status_t( * axiom_xml_writer_ops::set_default_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri) |
| writer | xml_writer | |
| env | environment | |
| uri | uri |
| axis2_status_t( * axiom_xml_writer_ops::write_encoded)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text, int in_attr) |
| writer | xml_writer | |
| env | environment | |
| text | text | |
| in_attr |


The Eiffel community's mission is to provide seamless transparency and interconnectedness throughout polyglot and multi-organizational continuous delivery pipelines.
Vision
The vision for achieving our mission is three-fold:
A shared vocabulary and protocol for technology agnostic messaging between all actors in the pipeline.
Data storage and analysis services providing a very high degree of traceability of what was done when, how, where, why and by whom for every software version, from commit to finished release candidate.


Hello, My Name is Omar Elsayed
My First CV Website
My Second CV Website
Website For Social Media
Website For East Asia Co.
Sudoku Solver By JavaScript
Website For Shopping
Website For Bezel
Website For Games, Movies, etc.
Website For Engage Co.
Website For Fokir Co.
Website For Coder Bits Co.
Website For Solving Any Journal Entry.


--- layout: page title: "About" description: "This is who I am." header-img: "img/nicholas-bg.jpg" ---
I was born in the United States and raised and educated in Germany. My work in Sales and Business Development with several German export and IT companies has taken me to Bogata, Arequipa, Santiago de Chile, Rio de Janerio, Miami and now back to Berlin, Germany. I am fluent in German, English, Spanish and Portuguese.
I studied a dual business bachelor and worked some years for german trading companies in Latin America. The last two years I had my own business in Miami, FL importing and distributing gourmet food products.
During the last few years, I have been working in different countries and travelling to interesting places all over the world as a trainee, an expatriate and then as an entrepreneur in the USA. Being multilingual helped during these assignments, and I even had the opportunity to learn more languages on my journeys.
I always had ideas to build and improve new products, but I had a lack of technical knowledge to actually code them. Hence, I decided to sign up in LeWagon, one of the leading coding bootcamps worldwide.
I am proficient in Ruby and Ruby on Rails, building smart web applications in a team during and as personal projects after the bootcamp. I also have experience using HTML5, CSS3 and JavaScript, and with database technologies, such as MySQL and PostgreSQL.


Video Streamer
Create An Account
Username:
Password:
Youtube Link:
Go to /getUsers to see a list of users.
Video Page


Level up as a citizen!
GeoSub taps in to the community information relevant to you.
Choose Places
Sensitivity
Targetting 1 event per day.
Choose Feeds
Construction
Community Events
Crime
Fire
Choose Delivery


{% extends "layout.html" %} {% block content %}
A web interface for extracting subtitles from videos
A: CCExtractor is a tool that extracts subtitles from video files. Originally written as a desktop program, CCExtractor can now be run any device with a network connection through CCExtractor Web (you are here!).
A: Simple! Create an account or login to access the dashboard and upload video files for processing. A full guide for using CCExtractor Web can be found here.


所有类
ApplicationDao
ApplicationMapper
CheckIn
CheckInDao
CheckInMapper
DateUtil
Hostel
HostelController
HostelDao
HostelMapper
HostelRoom
HostelService
IdUtil
IndexFilter
ManagerController
ManagerDao
ManagerMapper
ManagerService
ModifyApplication
MsgInfo
OpenApplication
Order
OrderDao
OrderMapper
Payment
PaymentDao
PaymentMapper
PlanDao
PlanMapper
Room
RoomController
RoomPlan
RoomService
SHA
TimeService
User
UserController
UserDao
UserMapper
UserService


Prepay for NHS prescriptions
Check your direct debit details
| Your payments | ||
| Number of payments | 10 | |
| Payment amount | £10.40 | |
| First payment | {{startdate}} | Change |
| Last payment | 10 November 2017 | Change |
| Your account details | ||
| Account holder's name | {{holdername}} | Change |
| Account holder's address | {{holderaddress}} | Change |
| Account number | 01234567 | Change |
| Sort code | 01 02 03 | Change |
We will send this Direct Debit instruction to:
Your Bank, Their St. Theirtown
Please pay the NHS Business Services Authority Direct Debits from the account detailed in this instruction subject to the safeguards assured by the Direct Debit Guarantee. I understand that this instruction may remain with the Prescription prepayment Issue Office of the NHS Business Services Authority, and if so, details will be passed electronically to my Bank/Building Society.
Originator:
NHS Business Services Authority, PPC, Bridge House,
152 Pilgrim Street, Newcastle upon Tyne, NE1 6SN
Service User Number (SUN): 242785E
Telephone: 0191 232 5371


Hello! This is a test
This web page includes a javascript file that is transpiled from multiple js modules.
This process is executed using webpack and babel.


Home
Our Team
Chasis/Base
Superstructure
Electronics
Programming
About
Our Goals
Sponsors
Contact
Log In
Welcome to our team!
Chasis/Base
Stuff
Superstructure
Stuff
Stuff
Electronics
Stuff
Stuff
Programming
Stuff
Stuff
Stuff
Copyright © 2015 Noah Miller Johnson and Anja Shepard


As unfortunately both Windows and Linux have system and library calls with
as many as 10 parameters (for example XCreateImage
),
a collection of calling thunks is required.
A single varidic thunk would be ideal, but is hard to do without per platform
assembly language.
CALL0 ( fn -- n ) CALL1 ( n fn -- n ) CALL2 ( n n fn -- n ) CALL3 ( n n n fn -- n ) CALL4 ( n n n n fn -- n ) CALL5 ( n n n n n fn -- n ) CALL6 ( n n n n n n fn -- n ) CALL7 ( n n n n n n n fn -- n ) CALL7 ( n n n n n n n n fn -- n ) CALL9 ( n n n n n n n n n fn -- n ) CALL10 ( n n n n n n n n n n fn -- n )
See calling.h.


Graffiti Removal
Search
List
Map
About
Graffiti Removal Request
A Progressive Web App to search through Graffiti Removal Requests
Click on the nav bar icon to go to the search screen!
Graffiti Removal App
Developer: Rime Brika
Bootstrap Template: Stylish Portfolio
GitHub Repo
You can search for graffiti removal request by inserting a ward and status
Ward
Status List:
Select a status
Open
Completed
Search
List
Card title
Card date
Card date
Card date
Card date
Card date
Card date


Katie Price 'devastated as she's spending Christmas abroad without kids'
Thinking of going on holiday
by Paul HironsMum-of-five Katie Price is said to be 'devastated' at the prospect of spending this Christmas alone, reports claim.
The former glamour model and broadcaster, 41, is said to be facing the festive period on her own as her kids are spending family time with their respective dads.
Read more: Katie Price might 'set up soft porn app' to get 'revenge' on pal Danielle Lloyd
Katie has two children with her ex-husband Peter Andre, Junior, 14, and Princess, 12.
She also shares six-year-old Jett and Bunny, five, with her third husband, Kieran Hayler.
Her eldest child Harvey, 17 - whose father is ex-footballer Dwight Yorke - is now living in a residential care home.
With an empty house, Katie - who is said to be cash strapped - is even considering escaping the country and going on holiday with her on-off boyfriend, Kris Boyson, The Sun reports.
"Katie is dreading this Christmas, as she only has her eldest son Harvey at home with her," a source told the newspaper.
"She says she has nothing to stay in England for as Harvey is likely to remain in residential care, and hates the cold so is looking at going abroad instead.
"Katie has told her friends that she won't be able to afford decent presents anyway and is leaving it to the children's dads to splash the cash instead."
ED! has contacted Katie's reps for comment.
Katie's topsy-turvey life took another twist last week.
Reports claimed that Katie wants to marry Kris 'asap' after a source said that he's the only one to have 'truly cared about her since she was married to Peter [Andre]'.
The Sun reported that despite Katie cheating on Kris earlier this year with builder Charles Drury, he's keen to 'leave the past in the past'.
Read more: Katie Price's son Harvey makes emotional plea to trolls to stop bullying him
A source told the newspaper: "She has been telling her mates that she knows deep down Kris is the only bloke to have truly cared about her since she was married to Peter.
"He is also brilliant with the kids, which is one of the things that Katie loves the most about him. They adore him and that is very important to Katie."
"Kris is the full package and that’s why Katie went back to him in the end."
Leave us a comment on our Facebook page @EntertainmentDailyFix and let us know what you think!