In my previous posts, I have shown that there exists a correlation between salaries and experience as well as between salaries and education within many occupational groups. Within the data I used from Statistics Sweden there was also information about gender. Some of the models and graphs also showed that there is a difference in salaries between the different genders.
In this post, I will examine the interaction between the predictors. Apart from gender the interaction between year also needs to be investigated.
It would have been very interesting to examine the interaction between experience and education. However, this information is not available at Statistics Sweden, at least not for free.
First, define libraries and functions.
library (tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.2.0 v purrr 0.3.2
## v tibble 2.1.3 v dplyr 0.8.3
## v tidyr 1.0.0 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.4.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library (broom)
library (car)
## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
## The following object is masked from 'package:purrr':
##
## some
library (splines)
#install_github("ZheyuanLi/SplinesUtils")
library(SplinesUtils)
library(sjPlot)
readfile <- function (file1){
read_csv (file1, col_types = cols(), locale = readr::locale (encoding = "latin1"), na = c("..", "NA")) %>%
gather (starts_with("19"), starts_with("20"), key = "year", value = salary) %>%
drop_na() %>%
mutate (year_n = parse_number (year))
}
The data table is downloaded from Statistics Sweden. It is saved as a comma-delimited file without heading, 00000031.csv, http://www.statistikdatabasen.scb.se/pxweb/en/ssd/.
Average monthly pay (total pay), non-manual workers private sector (SLP), SEK by occupational group (SSYK), age, sex and year. Year 2014 - 2018
There are no women in the age group 65-66 years which explains the uncertainty for this group.
We are interested to see if the interaction terms between gender, age and year are important factors in salaries. As a null hypothesis, we assume that the interaction terms between gender, age and year is not related to the salary and examine if we can reject this hypothesis with the data from Statistics Sweden.
tb <- readfile("00000031.csv") %>%
rowwise() %>%
mutate(age_l = unlist(lapply(strsplit(substr(age, 1, 5), "-"), strtoi))[1]) %>%
rowwise() %>%
mutate(age_h = unlist(lapply(strsplit(substr(age, 1, 5), "-"), strtoi))[2]) %>%
mutate(age_n = (age_l + age_h) / 2)
tb %>%
ggplot () +
geom_point (mapping = aes(x = year_n,y = salary, colour = age, shape = sex)) +
labs(
x = "Year",
y = "Salary (SEK/month)"
)
model <- lm (log(salary) ~ year_n + sex + age, data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -28.1818327 | 3.5502758 | -7.937928 | 0 |
| year_n | 0.0190896 | 0.0017610 | 10.839936 | 0 |
| sexwomen | -0.0338702 | 0.0051006 | -6.640420 | 0 |
| age25-29 years | 0.1194646 | 0.0108200 | 11.041048 | 0 |
| age30-34 years | 0.2670157 | 0.0108200 | 24.677885 | 0 |
| age35-39 years | 0.3798043 | 0.0108200 | 35.101929 | 0 |
| age40-44 years | 0.4507298 | 0.0108200 | 41.656942 | 0 |
| age45-49 years | 0.4826082 | 0.0108200 | 44.603178 | 0 |
| age50-54 years | 0.4957858 | 0.0108200 | 45.821064 | 0 |
| age55-59 years | 0.4999386 | 0.0108200 | 46.204870 | 0 |
| age60-64 years | 0.4926852 | 0.0108200 | 45.534501 | 0 |
| age65-66 years | 0.4850540 | 0.0145457 | 33.346995 | 0 |
summary(model)$adj.r.squared
## [1] 0.9817476
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.06878 1 117.504 < 2.2e-16 ***
## sex 0.02581 1 44.095 3.166e-09 ***
## age 2.81366 9 534.074 < 2.2e-16 ***
## Residuals 0.04800 82
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(model, which = 1)
tb[38,]
## Source: local data frame [1 x 9]
## Groups: <by row>
##
## # A tibble: 1 x 9
## `occuptional (SSYK 2012~ age sex year salary year_n age_l age_h age_n
## <chr> <chr> <chr> <chr> <dbl> <dbl> <int> <int> <dbl>
## 1 214 Engineering professi~ 18-24 y~ men 2016 27300 2016 18 24 21
tb[56,]
## Source: local data frame [1 x 9]
## Groups: <by row>
##
## # A tibble: 1 x 9
## `occuptional (SSYK 2012~ age sex year salary year_n age_l age_h age_n
## <chr> <chr> <chr> <chr> <dbl> <dbl> <int> <int> <dbl>
## 1 214 Engineering professi~ 65-66 y~ men 2016 51500 2016 65 66 65.5
tb[72,]
## Source: local data frame [1 x 9]
## Groups: <by row>
##
## # A tibble: 1 x 9
## `occuptional (SSYK 2012~ age sex year salary year_n age_l age_h age_n
## <chr> <chr> <chr> <chr> <dbl> <dbl> <int> <int> <dbl>
## 1 214 Engineering professi~ 55-59 y~ women 2017 45000 2017 55 59 57
I will examine models with both the categorical and continuous predictors to see if they can make the same predictions. The models with continuous predictors show approximately the same as the models with categorical predictors as you can see below.
We start by examining the interaction between year and age. We find that the only significant interaction between age and year is in the age group 65-66 years old.
model <- lm (log(salary) ~ sex + year_n * age, data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -41.8453794 | 10.9079056 | -3.8362433 | 0.0002631 |
| sexwomen | -0.0338702 | 0.0051012 | -6.6396284 | 0.0000000 |
| year_n | 0.0258672 | 0.0054107 | 4.7807733 | 0.0000088 |
| age25-29 years | 14.3621579 | 15.4261077 | 0.9310293 | 0.3549073 |
| age30-34 years | 27.5176359 | 15.4261077 | 1.7838353 | 0.0786064 |
| age35-39 years | 20.9934100 | 15.4261077 | 1.3609013 | 0.1777316 |
| age40-44 years | 16.2491631 | 15.4261077 | 1.0533547 | 0.2956526 |
| age45-49 years | 5.7537717 | 15.4261077 | 0.3729892 | 0.7102373 |
| age50-54 years | 0.6906147 | 15.4261077 | 0.0447692 | 0.9644135 |
| age55-59 years | 14.2039759 | 15.4261077 | 0.9207751 | 0.3602008 |
| age60-64 years | 13.3026500 | 15.4261077 | 0.8623465 | 0.3913210 |
| age65-66 years | 44.0644781 | 19.7739637 | 2.2284090 | 0.0289332 |
| year_n:age25-29 years | -0.0070648 | 0.0076518 | -0.9232852 | 0.3589003 |
| year_n:age30-34 years | -0.0135172 | 0.0076518 | -1.7665264 | 0.0814879 |
| year_n:age35-39 years | -0.0102250 | 0.0076518 | -1.3362808 | 0.1856080 |
| year_n:age40-44 years | -0.0078365 | 0.0076518 | -1.0241363 | 0.3091527 |
| year_n:age45-49 years | -0.0026147 | 0.0076518 | -0.3417041 | 0.7335553 |
| year_n:age50-54 years | -0.0000966 | 0.0076518 | -0.0126298 | 0.9899576 |
| year_n:age55-59 years | -0.0067976 | 0.0076518 | -0.8883667 | 0.3772614 |
| year_n:age60-64 years | -0.0063541 | 0.0076518 | -0.8304083 | 0.4090156 |
| year_n:age65-66 years | -0.0216149 | 0.0098077 | -2.2038822 | 0.0306865 |
summary(model)$adj.r.squared
## [1] 0.9817432
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.02581 1 44.0847 4.817e-09 ***
## year_n 0.06878 1 117.4762 < 2.2e-16 ***
## age 2.81366 9 533.9464 < 2.2e-16 ***
## year_n:age 0.00526 9 0.9978 0.4497
## Residuals 0.04274 73
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "age"), colors = "Set3")
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
model <- lm (log(salary) ~ sex + year_n * bs(age_n, knots = c(35, 50)), data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -42.2169094 | 10.4483489 | -4.0405340 | 0.0001206 |
| sexwomen | -0.0339907 | 0.0048836 | -6.9601677 | 0.0000000 |
| year_n | 0.0260513 | 0.0051827 | 5.0265834 | 0.0000029 |
| bs(age_n, knots = c(35, 50))1 | 15.9469335 | 23.8937700 | 0.6674097 | 0.5064075 |
| bs(age_n, knots = c(35, 50))2 | 37.3855896 | 23.7587981 | 1.5735472 | 0.1194903 |
| bs(age_n, knots = c(35, 50))3 | -8.1493593 | 25.1608613 | -0.3238903 | 0.7468559 |
| bs(age_n, knots = c(35, 50))4 | 8.6142351 | 22.3328612 | 0.3857202 | 0.7007151 |
| bs(age_n, knots = c(35, 50))5 | 37.8153976 | 18.0285162 | 2.0975324 | 0.0390644 |
| year_n:bs(age_n, knots = c(35, 50))1 | -0.0078854 | 0.0118521 | -0.6653159 | 0.5077385 |
| year_n:bs(age_n, knots = c(35, 50))2 | -0.0183302 | 0.0117851 | -1.5553743 | 0.1237557 |
| year_n:bs(age_n, knots = c(35, 50))3 | 0.0042939 | 0.0124805 | 0.3440519 | 0.7316989 |
| year_n:bs(age_n, knots = c(35, 50))4 | -0.0040248 | 0.0110776 | -0.3633240 | 0.7173094 |
| year_n:bs(age_n, knots = c(35, 50))5 | -0.0185161 | 0.0089421 | -2.0706713 | 0.0415743 |
summary(model)$adj.r.squared
## [1] 0.98315
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.02618 1 48.4439 8.049e-10 ***
## year_n 0.06883 1 127.3747 < 2.2e-16 ***
## bs(age_n, knots = c(35, 50)) 2.81344 5 1041.2680 < 2.2e-16 ***
## year_n:bs(age_n, knots = c(35, 50)) 0.00445 5 1.6454 0.1574
## Residuals 0.04377 81
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("age_n", "year_n"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
Examine the interaction between gender and age. We can see that women have a significantly lower salary for the age groups 35-39 years, 45-49 years, 50-54 years, 55-59 years and 60-64 years.
The F-value from the Anova table for the interaction term between gender and age is 3,2 (Pr(>F) < 0.003564), sufficient for rejecting the null hypothesis that the interaction between gender and age has no effect on the salary holding year as constant.
model <- lm (log(salary) ~ year_n + sex * age, data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -28.2022208 | 3.2212924 | -8.7549396 | 0.0000000 |
| year_n | 0.0190896 | 0.0015979 | 11.9470190 | 0.0000000 |
| sexwomen | 0.0069060 | 0.0138839 | 0.4974127 | 0.6203728 |
| age25-29 years | 0.1287635 | 0.0138839 | 9.2743148 | 0.0000000 |
| age30-34 years | 0.2841357 | 0.0138839 | 20.4651381 | 0.0000000 |
| age35-39 years | 0.3994082 | 0.0138839 | 28.7677512 | 0.0000000 |
| age40-44 years | 0.4652656 | 0.0138839 | 33.5111890 | 0.0000000 |
| age45-49 years | 0.5076384 | 0.0138839 | 36.5631348 | 0.0000000 |
| age50-54 years | 0.5175734 | 0.0138839 | 37.2787098 | 0.0000000 |
| age55-59 years | 0.5389253 | 0.0138839 | 38.8166009 | 0.0000000 |
| age60-64 years | 0.5298153 | 0.0138839 | 38.1604449 | 0.0000000 |
| age65-66 years | 0.5054421 | 0.0147315 | 34.3102881 | 0.0000000 |
| sexwomen:age25-29 years | -0.0185979 | 0.0196348 | -0.9471913 | 0.3466242 |
| sexwomen:age30-34 years | -0.0342399 | 0.0196348 | -1.7438372 | 0.0853402 |
| sexwomen:age35-39 years | -0.0392078 | 0.0196348 | -1.9968533 | 0.0495192 |
| sexwomen:age40-44 years | -0.0290715 | 0.0196348 | -1.4806107 | 0.1429556 |
| sexwomen:age45-49 years | -0.0500604 | 0.0196348 | -2.5495786 | 0.0128556 |
| sexwomen:age50-54 years | -0.0435752 | 0.0196348 | -2.2192866 | 0.0295322 |
| sexwomen:age55-59 years | -0.0779734 | 0.0196348 | -3.9711888 | 0.0001643 |
| sexwomen:age60-64 years | -0.0742603 | 0.0196348 | -3.7820779 | 0.0003131 |
summary(model)$adj.r.squared
## [1] 0.9849736
Anova(model, type = 2)
## Note: model has aliased coefficients
## sums of squares computed by model comparison
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.06878 1 142.7313 < 2.2e-16 ***
## sex 0.02581 1 53.5620 2.492e-10 ***
## age 2.81366 9 648.7344 < 2.2e-16 ***
## sex:age 0.01234 8 3.2006 0.003564 **
## Residuals 0.03566 74
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("age", "sex"))
## Warning in predict.lm(model, newdata = fitfram, type = "response", se.fit =
## se, : prediction from a rank-deficient fit may be misleading
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
tb[75,]
## Source: local data frame [1 x 9]
## Groups: <by row>
##
## # A tibble: 1 x 9
## `occuptional (SSYK 2012~ age sex year salary year_n age_l age_h age_n
## <chr> <chr> <chr> <chr> <dbl> <dbl> <int> <int> <dbl>
## 1 214 Engineering professi~ 65-66 y~ men 2017 46500 2017 65 66 65.5
model <- lm (log(salary) ~ year_n + sex * bs(age_n, knots = c(35, 50)), data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -28.2038536 | 3.1195378 | -9.0410359 | 0.0000000 |
| year_n | 0.0190902 | 0.0015474 | 12.3371071 | 0.0000000 |
| sexwomen | 0.0071007 | 0.0134078 | 0.5295958 | 0.5978408 |
| bs(age_n, knots = c(35, 50))1 | 0.0569146 | 0.0216453 | 2.6294148 | 0.0102324 |
| bs(age_n, knots = c(35, 50))2 | 0.4595799 | 0.0214465 | 21.4291344 | 0.0000000 |
| bs(age_n, knots = c(35, 50))3 | 0.5131788 | 0.0225545 | 22.7528180 | 0.0000000 |
| bs(age_n, knots = c(35, 50))4 | 0.5585990 | 0.0195443 | 28.5811988 | 0.0000000 |
| bs(age_n, knots = c(35, 50))5 | 0.5056993 | 0.0139459 | 36.2613732 | 0.0000000 |
| sexwomen:bs(age_n, knots = c(35, 50))1 | -0.0156019 | 0.0309691 | -0.5037899 | 0.6157765 |
| sexwomen:bs(age_n, knots = c(35, 50))2 | -0.0520644 | 0.0314890 | -1.6534151 | 0.1021172 |
| sexwomen:bs(age_n, knots = c(35, 50))3 | -0.0173455 | 0.0347256 | -0.4995018 | 0.6187800 |
| sexwomen:bs(age_n, knots = c(35, 50))4 | -0.1083142 | 0.0346022 | -3.1302674 | 0.0024289 |
| sexwomen:bs(age_n, knots = c(35, 50))5 | -0.0509037 | 0.0386819 | -1.3159563 | 0.1919009 |
summary(model)$adj.r.squared
## [1] 0.9859063
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.06880 1 152.2042 < 2.2e-16 ***
## sex 0.02612 1 57.7814 4.558e-11 ***
## bs(age_n, knots = c(35, 50)) 2.81344 5 1244.9030 < 2.2e-16 ***
## sex:bs(age_n, knots = c(35, 50)) 0.01161 5 5.1354 0.0003844 ***
## Residuals 0.03661 81
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("age_n", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
Examine the interaction between gender and year. Both the model with categorical predictors and the model with continuous predictors indicates that women’s salaries increase more than men’s salaries.
The F-value from the Anova table for the interaction term between gender and year is 3,1 (Pr(>F) < 0.08053), with 90 % significance we can reject the null hypothesis that the interaction between gender and year has no effect on the salary holding age as constant.
model <- lm (log(salary) ~ year_n * sex + age, data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -22.2600278 | 4.8457687 | -4.593704 | 0.0000158 |
| year_n | 0.0161522 | 0.0024037 | 6.719863 | 0.0000000 |
| sexwomen | -12.4532110 | 7.0175325 | -1.774585 | 0.0797236 |
| age25-29 years | 0.1194646 | 0.0106821 | 11.183664 | 0.0000000 |
| age30-34 years | 0.2670157 | 0.0106821 | 24.996646 | 0.0000000 |
| age35-39 years | 0.3798043 | 0.0106821 | 35.555336 | 0.0000000 |
| age40-44 years | 0.4507298 | 0.0106821 | 42.195020 | 0.0000000 |
| age45-49 years | 0.4826082 | 0.0106821 | 45.179312 | 0.0000000 |
| age50-54 years | 0.4957858 | 0.0106821 | 46.412928 | 0.0000000 |
| age55-59 years | 0.4999386 | 0.0106821 | 46.801692 | 0.0000000 |
| age60-64 years | 0.4926852 | 0.0106821 | 46.122664 | 0.0000000 |
| age65-66 years | 0.4857883 | 0.0143662 | 33.814759 | 0.0000000 |
| year_n:sexwomen | 0.0061604 | 0.0034809 | 1.769759 | 0.0805306 |
summary(model)$adj.r.squared
## [1] 0.9822101
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.06878 1 120.559 < 2.2e-16 ***
## sex 0.02581 1 45.242 2.266e-09 ***
## age 2.81430 9 548.084 < 2.2e-16 ***
## year_n:sex 0.00179 1 3.132 0.08053 .
## Residuals 0.04621 81
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
model <- lm (log(salary) ~ year_n * sex + bs(age_n, knots = c(35, 50)), data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -22.2810163 | 4.7408239 | -4.699819 | 0.0000099 |
| year_n | 0.0161625 | 0.0023516 | 6.872990 | 0.0000000 |
| sexwomen | -12.4325740 | 6.8662746 | -1.810672 | 0.0737248 |
| bs(age_n, knots = c(35, 50))1 | 0.0497887 | 0.0168608 | 2.952920 | 0.0040694 |
| bs(age_n, knots = c(35, 50))2 | 0.4323307 | 0.0167836 | 25.759071 | 0.0000000 |
| bs(age_n, knots = c(35, 50))3 | 0.5064797 | 0.0178110 | 28.436385 | 0.0000000 |
| bs(age_n, knots = c(35, 50))4 | 0.5014488 | 0.0159182 | 31.501692 | 0.0000000 |
| bs(age_n, knots = c(35, 50))5 | 0.4850317 | 0.0132343 | 36.649526 | 0.0000000 |
| year_n:sexwomen | 0.0061501 | 0.0034059 | 1.805728 | 0.0745008 |
summary(model)$adj.r.squared
## [1] 0.9829655
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.06883 1 125.9950 < 2.2e-16 ***
## sex 0.02612 1 47.8063 8.182e-10 ***
## bs(age_n, knots = c(35, 50)) 2.81407 5 1030.2198 < 2.2e-16 ***
## year_n:sex 0.00178 1 3.2607 0.0745 .
## Residuals 0.04644 85
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
Examine the interaction between year, gender and age. It’s becoming a bit difficult to make any significant predictions about the interactions from the model, the data is not sufficiently large, the degrees of freedom has been reduced from 82 in the model with no interaction terms to 56.
The following interaction terms are significant to 90 %.
year_n:sexwomen
sexwomen:age35-39 years
year_n:sexwomen:age35-39 years
In the graph below you can that the salaries for men in the age group 35-39 years has increased more than for women.
The F-value from the Anova table for the interaction term between gender and age is 3,3 (Pr(>F) < 0.00373), sufficient for rejecting the null hypothesis that the interaction between gender and age has no effect on the salary holding year as constant.
model <- lm (log(salary) ~ year_n * sex * age, data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -23.0500250 | 13.7844076 | -1.6721810 | 0.1000676 |
| year_n | 0.0165340 | 0.0068375 | 2.4181290 | 0.0188783 |
| sexwomen | -37.6245789 | 19.4940962 | -1.9300499 | 0.0586714 |
| age25-29 years | 0.3057247 | 19.4940962 | 0.0156829 | 0.9875431 |
| age30-34 years | 13.4212323 | 19.4940962 | 0.6884768 | 0.4939950 |
| age35-39 years | -6.4835219 | 19.4940962 | -0.3325890 | 0.7406864 |
| age40-44 years | -4.3559249 | 19.4940962 | -0.2234484 | 0.8239997 |
| age45-49 years | -8.7690292 | 19.4940962 | -0.4498300 | 0.6545695 |
| age50-54 years | -0.8787263 | 19.4940962 | -0.0450765 | 0.9642067 |
| age55-59 years | -6.3664653 | 19.4940962 | -0.3265843 | 0.7451998 |
| age60-64 years | 2.4331505 | 19.4940962 | 0.1248147 | 0.9011172 |
| age65-66 years | 25.2691238 | 20.1796414 | 1.2522088 | 0.2156985 |
| year_n:sexwomen | 0.0186664 | 0.0096697 | 1.9304047 | 0.0586265 |
| year_n:age25-29 years | -0.0000878 | 0.0096697 | -0.0090777 | 0.9927894 |
| year_n:age30-34 years | -0.0065164 | 0.0096697 | -0.6739015 | 0.5031462 |
| year_n:age35-39 years | 0.0034142 | 0.0096697 | 0.3530778 | 0.7253558 |
| year_n:age40-44 years | 0.0023915 | 0.0096697 | 0.2473155 | 0.8055686 |
| year_n:age45-49 years | 0.0046015 | 0.0096697 | 0.4758707 | 0.6360177 |
| year_n:age50-54 years | 0.0006926 | 0.0096697 | 0.0716268 | 0.9431541 |
| year_n:age55-59 years | 0.0034253 | 0.0096697 | 0.3542299 | 0.7244970 |
| year_n:age60-64 years | -0.0009441 | 0.0096697 | -0.0976365 | 0.9225696 |
| year_n:age65-66 years | -0.0122817 | 0.0100091 | -1.2270593 | 0.2249341 |
| sexwomen:age25-29 years | 28.1128665 | 27.5688152 | 1.0197343 | 0.3122398 |
| sexwomen:age30-34 years | 28.1928073 | 27.5688152 | 1.0226340 | 0.3108784 |
| sexwomen:age35-39 years | 54.9538639 | 27.5688152 | 1.9933343 | 0.0511051 |
| sexwomen:age40-44 years | 41.2101760 | 27.5688152 | 1.4948113 | 0.1405778 |
| sexwomen:age45-49 years | 29.0456019 | 27.5688152 | 1.0535673 | 0.2966058 |
| sexwomen:age50-54 years | 3.1386820 | 27.5688152 | 0.1138490 | 0.9097647 |
| sexwomen:age55-59 years | 41.1408823 | 27.5688152 | 1.4922978 | 0.1412337 |
| sexwomen:age60-64 years | 21.7389989 | 27.5688152 | 0.7885358 | 0.4337089 |
| year_n:sexwomen:age25-29 years | -0.0139541 | 0.0136750 | -1.0204092 | 0.3119226 |
| year_n:sexwomen:age30-34 years | -0.0140015 | 0.0136750 | -1.0238762 | 0.3102964 |
| year_n:sexwomen:age35-39 years | -0.0272783 | 0.0136750 | -1.9947569 | 0.0509451 |
| year_n:sexwomen:age40-44 years | -0.0204560 | 0.0136750 | -1.4958662 | 0.1403033 |
| year_n:sexwomen:age45-49 years | -0.0144324 | 0.0136750 | -1.0553834 | 0.2957821 |
| year_n:sexwomen:age50-54 years | -0.0015785 | 0.0136750 | -0.1154296 | 0.9085175 |
| year_n:sexwomen:age55-59 years | -0.0204459 | 0.0136750 | -1.4951265 | 0.1404958 |
| year_n:sexwomen:age60-64 years | -0.0108201 | 0.0136750 | -0.7912297 | 0.4321485 |
summary(model)$adj.r.squared
## [1] 0.9854223
Anova(model, type = 2)
## Note: model has aliased coefficients
## sums of squares computed by model comparison
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.06878 1 147.1250 < 2.2e-16 ***
## sex 0.02581 1 55.2108 6.727e-10 ***
## age 2.81430 9 668.8557 < 2.2e-16 ***
## year_n:sex 0.00113 1 2.4097 0.12622
## year_n:age 0.00460 9 1.0927 0.38295
## sex:age 0.01234 8 3.2991 0.00373 **
## year_n:sex:age 0.00310 8 0.8277 0.58192
## Residuals 0.02618 56
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "age", "sex"))
## Warning in predict.lm(model, newdata = fitfram, type = "response", se.fit =
## se, : prediction from a rank-deficient fit may be misleading
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: Removed 10 rows containing missing values (geom_path).
plot(model, which = 1)
model <- lm (log(salary) ~ year_n * sex * bs(age_n, knots = c(35, 50)), data = tb)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -24.0868942 | 12.7931370 | -1.8827981 | 0.0638836 |
| year_n | 0.0170481 | 0.0063458 | 2.6865147 | 0.0090115 |
| sexwomen | -35.9593922 | 18.0942402 | -1.9873392 | 0.0507987 |
| bs(age_n, knots = c(35, 50))1 | 13.5471021 | 29.2057808 | 0.4638500 | 0.6441944 |
| bs(age_n, knots = c(35, 50))2 | -3.5308622 | 28.9253132 | -0.1220682 | 0.9031947 |
| bs(age_n, knots = c(35, 50))3 | -3.0003750 | 30.3944067 | -0.0987147 | 0.9216469 |
| bs(age_n, knots = c(35, 50))4 | -10.6818355 | 26.2596260 | -0.4067779 | 0.6854122 |
| bs(age_n, knots = c(35, 50))5 | 24.6956649 | 18.4012753 | 1.3420627 | 0.1839126 |
| year_n:sexwomen | 0.0178405 | 0.0089753 | 1.9877332 | 0.0507540 |
| year_n:bs(age_n, knots = c(35, 50))1 | -0.0066913 | 0.0144870 | -0.4618860 | 0.6455954 |
| year_n:bs(age_n, knots = c(35, 50))2 | 0.0019790 | 0.0143478 | 0.1379286 | 0.8906928 |
| year_n:bs(age_n, knots = c(35, 50))3 | 0.0017435 | 0.0150765 | 0.1156429 | 0.9082666 |
| year_n:bs(age_n, knots = c(35, 50))4 | 0.0055746 | 0.0130255 | 0.4279781 | 0.6699809 |
| year_n:bs(age_n, knots = c(35, 50))5 | -0.0119974 | 0.0091271 | -1.3144829 | 0.1929745 |
| sexwomen:bs(age_n, knots = c(35, 50))1 | -3.0882433 | 41.7901518 | -0.0738988 | 0.9413017 |
| sexwomen:bs(age_n, knots = c(35, 50))2 | 96.0533158 | 42.4835588 | 2.2609527 | 0.0268729 |
| sexwomen:bs(age_n, knots = c(35, 50))3 | -33.3604447 | 46.8350731 | -0.7122962 | 0.4786489 |
| sexwomen:bs(age_n, knots = c(35, 50))4 | 73.5641700 | 46.6314260 | 1.5775664 | 0.1191741 |
| sexwomen:bs(age_n, knots = c(35, 50))5 | -29.6631727 | 52.0527929 | -0.5698671 | 0.5705923 |
| year_n:sexwomen:bs(age_n, knots = c(35, 50))1 | 0.0015239 | 0.0207292 | 0.0735146 | 0.9416063 |
| year_n:sexwomen:bs(age_n, knots = c(35, 50))2 | -0.0476709 | 0.0210732 | -2.2621610 | 0.0267943 |
| year_n:sexwomen:bs(age_n, knots = c(35, 50))3 | 0.0165386 | 0.0232316 | 0.7118987 | 0.4788935 |
| year_n:sexwomen:bs(age_n, knots = c(35, 50))4 | -0.0365429 | 0.0231306 | -1.5798519 | 0.1186493 |
| year_n:sexwomen:bs(age_n, knots = c(35, 50))5 | 0.0146870 | 0.0258196 | 0.5688315 | 0.5712911 |
summary(model)$adj.r.squared
## [1] 0.9873689
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.06880 1 169.8286 < 2.2e-16 ***
## sex 0.03780 6 15.5511 3.011e-11 ***
## bs(age_n, knots = c(35, 50)) 2.82569 10 697.5506 < 2.2e-16 ***
## year_n:sex 0.00126 1 3.1090 0.0822248 .
## year_n:bs(age_n, knots = c(35, 50)) 0.00394 5 1.9452 0.0977419 .
## sex:bs(age_n, knots = c(35, 50)) 0.01163 5 5.7405 0.0001702 ***
## year_n:sex:bs(age_n, knots = c(35, 50)) 0.00253 5 1.2489 0.2958798
## Residuals 0.02836 70
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("age_n", "year_n", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
Average basic salary, monthly salary and women´s salary as a percentage of men´s salary by sector, occupational group (SSYK 2012), gender and educational level (SUN). Year 2014 - 2018 Monthly salary All sectors
We expect that gender is an important factor in salaries. As a null hypothesis, we assume that the interaction between gender and education is not related to the salary and examine if we can reject this hypothesis with the data from Statistics Sweden.
tb <- readfile("000000CY.csv") %>%
filter(`occuptional (SSYK 2012)` == "214 Engineering professionals") %>%
mutate(edulevel = `level of education`)
numedulevel <- read.csv("edulevel.csv")
tbnum <- tb %>%
right_join(numedulevel, by = c("level of education" = "level.of.education")) %>%
filter(!is.na(eduyears))
## Warning: Column `level of education`/`level.of.education` joining character
## vector and factor, coercing into character vector
numedulevel %>%
knitr::kable(
booktabs = TRUE,
caption = 'Initial approach, length of education')
| level.of.education | eduyears |
|---|---|
| primary and secondary education 9-10 years (ISCED97 2) | 9 |
| upper secondary education, 2 years or less (ISCED97 3C) | 11 |
| upper secondary education 3 years (ISCED97 3A) | 12 |
| post-secondary education, less than 3 years (ISCED97 4+5B) | 14 |
| post-secondary education 3 years or more (ISCED97 5A) | 15 |
| post-graduate education (ISCED97 6) | 19 |
| no information about level of educational attainment | NA |
tb %>%
ggplot () +
geom_point (mapping = aes(x = year_n,y = salary, colour = `level of education`, shape = sex)) +
labs(
x = "Year",
y = "Salary (SEK/month)"
)
model <- lm (log(salary) ~ year_n + sex + edulevel, data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -34.8741818 | 4.5648337 | -7.639749 | 0 |
| year_n | 0.0226738 | 0.0022643 | 10.013413 | 0 |
| sexwomen | -0.0743114 | 0.0063438 | -11.713990 | 0 |
| edulevelpost-secondary education 3 years or more (ISCED97 5A) | -0.1104356 | 0.0108816 | -10.148796 | 0 |
| edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | -0.1446573 | 0.0108816 | -13.293700 | 0 |
| edulevelprimary and secondary education 9-10 years (ISCED97 2) | -0.2207500 | 0.0111971 | -19.714892 | 0 |
| edulevelupper secondary education 3 years (ISCED97 3A) | -0.1898866 | 0.0108816 | -17.450172 | 0 |
| edulevelupper secondary education, 2 years or less (ISCED97 3C) | -0.2155065 | 0.0108816 | -19.804583 | 0 |
summary(model)$adj.r.squared
## [1] 0.9311952
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## year_n 0.05936 1 100.27 1.232e-13 ***
## sex 0.08124 1 137.22 4.476e-16 ***
## edulevel 0.34338 5 116.00 < 2.2e-16 ***
## Residuals 0.03019 51
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(model, which = 1)
tb[20,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ men no information a~ 2015 48400 2015 no infor~
tb[41,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ women no information a~ 2016 39400 2016 no infor~
tb[55,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ women no information a~ 2017 35300 2017 no infor~
We start by examining the interaction between year and education. The salaries for the education upper secondary education, 2 years or less increase more than other educations during the time period 2014-2018, however, this can not be shown with 95% significance from this data.
model <- lm(log(salary) ~ sex + year_n * edulevel, data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -29.3041153 | 10.9645273 | -2.6726291 | 0.0103775 |
| sexwomen | -0.0743499 | 0.0063563 | -11.6971241 | 0.0000000 |
| year_n | 0.0199109 | 0.0054388 | 3.6609245 | 0.0006464 |
| edulevelpost-secondary education 3 years or more (ISCED97 5A) | 3.5092165 | 15.5061826 | 0.2263108 | 0.8219623 |
| edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | -3.7498523 | 15.5061826 | -0.2418295 | 0.8099871 |
| edulevelprimary and secondary education 9-10 years (ISCED97 2) | -6.8196567 | 16.6031078 | -0.4107458 | 0.6831661 |
| edulevelupper secondary education 3 years (ISCED97 3A) | -0.3311115 | 15.5061826 | -0.0213535 | 0.9830560 |
| edulevelupper secondary education, 2 years or less (ISCED97 3C) | -27.1431543 | 15.5061826 | -1.7504730 | 0.0867042 |
| year_n:edulevelpost-secondary education 3 years or more (ISCED97 5A) | -0.0017955 | 0.0076916 | -0.2334329 | 0.8164610 |
| year_n:edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | 0.0017883 | 0.0076916 | 0.2325005 | 0.8171806 |
| year_n:edulevelprimary and secondary education 9-10 years (ISCED97 2) | 0.0032732 | 0.0082351 | 0.3974684 | 0.6928605 |
| year_n:edulevelupper secondary education 3 years (ISCED97 3A) | 0.0000701 | 0.0076916 | 0.0091077 | 0.9927726 |
| year_n:edulevelupper secondary education, 2 years or less (ISCED97 3C) | 0.0133570 | 0.0076916 | 1.7365753 | 0.0891557 |
summary(model)$adj.r.squared
## [1] 0.9312476
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08094 1 136.8227 2.212e-15 ***
## year_n 0.05936 1 100.3448 3.853e-13 ***
## edulevel 0.34338 5 116.0852 < 2.2e-16 ***
## year_n:edulevel 0.00298 5 1.0078 0.424
## Residuals 0.02721 46
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "edulevel"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
tb[10,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ women post-secondary e~ 2014 38800 2014 post-sec~
tb[25,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ women post-secondary e~ 2015 41200 2015 post-sec~
tb[29,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ men upper secondary ~ 2016 42100 2016 upper se~
model <- lm(log(salary) ~ sex + year_n * bs(eduyears, knots = c(14)), data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -37.5638852 | 12.5188542 | -3.0005849 | 0.0042648 |
| sexwomen | -0.0744192 | 0.0064006 | -11.6269343 | 0.0000000 |
| year_n | 0.0238981 | 0.0062092 | 3.8488437 | 0.0003504 |
| bs(eduyears, knots = c(14))1 | -33.5129947 | 34.8826450 | -0.9607355 | 0.3415000 |
| bs(eduyears, knots = c(14))2 | 52.9743796 | 67.5504892 | 0.7842190 | 0.4367647 |
| bs(eduyears, knots = c(14))3 | -26.1485331 | 82.0008933 | -0.3188811 | 0.7512002 |
| bs(eduyears, knots = c(14))4 | 8.2849059 | 16.6914080 | 0.4963575 | 0.6219077 |
| year_n:bs(eduyears, knots = c(14))1 | 0.0166181 | 0.0173024 | 0.9604499 | 0.3416422 |
| year_n:bs(eduyears, knots = c(14))2 | -0.0262412 | 0.0335071 | -0.7831529 | 0.4373844 |
| year_n:bs(eduyears, knots = c(14))3 | 0.0130625 | 0.0406748 | 0.3211439 | 0.7494955 |
| year_n:bs(eduyears, knots = c(14))4 | -0.0039997 | 0.0082789 | -0.4831182 | 0.6312082 |
summary(model)$adj.r.squared
## [1] 0.9302821
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08110 1 135.1856 1.453e-15 ***
## year_n 0.05941 1 99.0272 2.972e-13 ***
## bs(eduyears, knots = c(14)) 0.34299 4 142.9343 < 2.2e-16 ***
## year_n:bs(eduyears, knots = c(14)) 0.00179 4 0.7457 0.5657
## Residuals 0.02880 48
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "eduyears"))
## Model has log-transformed response. Back-transforming predictions to original response scale.  The only significant difference in salaries for the length in education is for the group upper secondary education, 2 years or less.
The F-value from the Anova table for the interaction term between gender and education is 3,3 (Pr(>F) < 0.01195), sufficient for rejecting the null hypothesis that the interaction between gender and education has no effect on the salary holding year as constant.
model <- lm(log(salary) ~ sex * edulevel + year_n, data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -34.7430460 | 4.1272331 | -8.4179994 | 0.0000000 |
| sexwomen | -0.0771083 | 0.0138850 | -5.5533508 | 0.0000013 |
| edulevelpost-secondary education 3 years or more (ISCED97 5A) | -0.1168022 | 0.0138850 | -8.4121058 | 0.0000000 |
| edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | -0.1597128 | 0.0138850 | -11.5025341 | 0.0000000 |
| edulevelprimary and secondary education 9-10 years (ISCED97 2) | -0.2251088 | 0.0138850 | -16.2123615 | 0.0000000 |
| edulevelupper secondary education 3 years (ISCED97 3A) | -0.1948942 | 0.0138850 | -14.0363072 | 0.0000000 |
| edulevelupper secondary education, 2 years or less (ISCED97 3C) | -0.1931089 | 0.0138850 | -13.9077238 | 0.0000000 |
| year_n | 0.0226094 | 0.0020472 | 11.0438961 | 0.0000000 |
| sexwomen:edulevelpost-secondary education 3 years or more (ISCED97 5A) | 0.0127331 | 0.0196364 | 0.6484450 | 0.5199213 |
| sexwomen:edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | 0.0301109 | 0.0196364 | 1.5334243 | 0.1320210 |
| sexwomen:edulevelprimary and secondary education 9-10 years (ISCED97 2) | 0.0094897 | 0.0202666 | 0.4682454 | 0.6418203 |
| sexwomen:edulevelupper secondary education 3 years (ISCED97 3A) | 0.0100153 | 0.0196364 | 0.5100385 | 0.6124632 |
| sexwomen:edulevelupper secondary education, 2 years or less (ISCED97 3C) | -0.0447952 | 0.0196364 | -2.2812368 | 0.0272117 |
summary(model)$adj.r.squared
## [1] 0.9439866
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08124 1 168.5530 < 2.2e-16 ***
## edulevel 0.34338 5 142.4863 < 2.2e-16 ***
## year_n 0.05879 1 121.9676 1.576e-14 ***
## sex:edulevel 0.00802 5 3.3293 0.01195 *
## Residuals 0.02217 46
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("edulevel", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
tb[12,]
## # A tibble: 1 x 8
## sector `occuptional (S~ sex `level of educa~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering ~ women post-graduate e~ 2014 45000 2014 post-gra~
model <- lm(log(salary) ~ sex * bs(eduyears, knots = c(14)) + year_n, data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -35.0137987 | 4.1599657 | -8.4168479 | 0.0000000 |
| sexwomen | -0.0691630 | 0.0148436 | -4.6594632 | 0.0000254 |
| bs(eduyears, knots = c(14))1 | 0.0563505 | 0.0303035 | 1.8595384 | 0.0690857 |
| bs(eduyears, knots = c(14))2 | -0.0451702 | 0.0604863 | -0.7467842 | 0.4588363 |
| bs(eduyears, knots = c(14))3 | 0.2884546 | 0.0731010 | 3.9459725 | 0.0002585 |
| bs(eduyears, knots = c(14))4 | 0.2248785 | 0.0139796 | 16.0861324 | 0.0000000 |
| year_n | 0.0226322 | 0.0020635 | 10.9680236 | 0.0000000 |
| sexwomen:bs(eduyears, knots = c(14))1 | -0.1362989 | 0.0434669 | -3.1356935 | 0.0029251 |
| sexwomen:bs(eduyears, knots = c(14))2 | 0.2339328 | 0.0855779 | 2.7335654 | 0.0087471 |
| sexwomen:bs(eduyears, knots = c(14))3 | -0.2077223 | 0.1036306 | -2.0044483 | 0.0506812 |
| sexwomen:bs(eduyears, knots = c(14))4 | -0.0079140 | 0.0203999 | -0.3879451 | 0.6997718 |
summary(model)$adj.r.squared
## [1] 0.943092
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08128 1 165.9766 < 2.2e-16 ***
## bs(eduyears, knots = c(14)) 0.34299 4 175.1086 < 2.2e-16 ***
## year_n 0.05891 1 120.2975 1.128e-14 ***
## sex:bs(eduyears, knots = c(14)) 0.00708 4 3.6147 0.01181 *
## Residuals 0.02350 48
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("eduyears", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
Examine the interaction between gender and year There is no evidence that the salaries for men and women are interacting with year, holding education constant.
model <- lm(log(salary) ~ sex * year_n + edulevel, data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -33.2392045 | 6.3870956 | -5.2041188 | 0.0000037 |
| sexwomen | -3.4777309 | 9.2153884 | -0.3773830 | 0.7074862 |
| year_n | 0.0218628 | 0.0031682 | 6.9007009 | 0.0000000 |
| edulevelpost-secondary education 3 years or more (ISCED97 5A) | -0.1104356 | 0.0109750 | -10.0625026 | 0.0000000 |
| edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | -0.1446573 | 0.0109750 | -13.1806660 | 0.0000000 |
| edulevelprimary and secondary education 9-10 years (ISCED97 2) | -0.2209486 | 0.0113059 | -19.5427007 | 0.0000000 |
| edulevelupper secondary education 3 years (ISCED97 3A) | -0.1898866 | 0.0109750 | -17.3017955 | 0.0000000 |
| edulevelupper secondary education, 2 years or less (ISCED97 3C) | -0.2155065 | 0.0109750 | -19.6361878 | 0.0000000 |
| sexwomen:year_n | 0.0016882 | 0.0045710 | 0.3693193 | 0.7134493 |
summary(model)$adj.r.squared
## [1] 0.93001
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08124 1 134.8940 8.258e-16 ***
## year_n 0.05936 1 98.5705 2.047e-13 ***
## edulevel 0.34343 5 114.0493 < 2.2e-16 ***
## sex:year_n 0.00008 1 0.1364 0.7134
## Residuals 0.03011 50
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
tb[18,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ men post-secondary e~ 2015 44800 2015 post-sec~
model <- lm(log(salary) ~ sex * year_n + bs(eduyears, knots = c(14)), data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -33.4606036 | 6.3648511 | -5.2570914 | 0.0000029 |
| sexwomen | -3.5113836 | 9.1831982 | -0.3823704 | 0.7037755 |
| year_n | 0.0218628 | 0.0031572 | 6.9248186 | 0.0000000 |
| bs(eduyears, knots = c(14))1 | -0.0110825 | 0.0239981 | -0.4618072 | 0.6461835 |
| bs(eduyears, knots = c(14))2 | 0.0720456 | 0.0472864 | 1.5236020 | 0.1337855 |
| bs(eduyears, knots = c(14))3 | 0.1853033 | 0.0572546 | 3.2364779 | 0.0021284 |
| bs(eduyears, knots = c(14))4 | 0.2214175 | 0.0112515 | 19.6788574 | 0.0000000 |
| sexwomen:year_n | 0.0017049 | 0.0045551 | 0.3742767 | 0.7097502 |
summary(model)$adj.r.squared
## [1] 0.9304967
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08128 1 135.8986 5.361e-16 ***
## year_n 0.05941 1 99.3330 1.446e-13 ***
## bs(eduyears, knots = c(14)) 0.34304 4 143.3973 < 2.2e-16 ***
## sex:year_n 0.00008 1 0.1401 0.7098
## Residuals 0.03050 51
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("eduyears", "sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
Examine the interaction between year, gender and education It’s becoming a bit difficult to make any significant predictions from the model, the data is not sufficiently large, the degrees of freedom has been reduced from 51 in the model with no interaction terms to 35.
There are no significant interaction terms in the summary.
The F-value from the Anova table for the interaction term between gender and education is 3,0 (Pr(>F) < 0.02377), sufficient for rejecting the null hypothesis that the interaction between gender and education has no effect on the salary holding year as constant.
model <- lm(log(salary) ~ sex * year_n * edulevel, data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -28.6598716 | 14.7502103 | -1.9430144 | 0.0600924 |
| sexwomen | -1.3628373 | 20.8599474 | -0.0653327 | 0.9482808 |
| year_n | 0.0195920 | 0.0073166 | 2.6777544 | 0.0112090 |
| edulevelpost-secondary education 3 years or more (ISCED97 5A) | 5.7063531 | 20.8599474 | 0.2735555 | 0.7860341 |
| edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | 1.8926757 | 20.8599474 | 0.0907325 | 0.9282224 |
| edulevelprimary and secondary education 9-10 years (ISCED97 2) | -6.5228901 | 20.8599474 | -0.3126993 | 0.7563648 |
| edulevelupper secondary education 3 years (ISCED97 3A) | 3.4041093 | 20.8599474 | 0.1631888 | 0.8713084 |
| edulevelupper secondary education, 2 years or less (ISCED97 3C) | -32.8376799 | 20.8599474 | -1.5741976 | 0.1244390 |
| sexwomen:year_n | 0.0006378 | 0.0103472 | 0.0616363 | 0.9512031 |
| sexwomen:edulevelpost-secondary education 3 years or more (ISCED97 5A) | -4.3942731 | 29.5004205 | -0.1489563 | 0.8824431 |
| sexwomen:edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | -11.2850561 | 29.5004205 | -0.3825388 | 0.7043750 |
| sexwomen:edulevelprimary and secondary education 9-10 years (ISCED97 2) | 1.3504648 | 32.9857439 | 0.0409409 | 0.9675757 |
| sexwomen:edulevelupper secondary education 3 years (ISCED97 3A) | -7.4704416 | 29.5004205 | -0.2532317 | 0.8015707 |
| sexwomen:edulevelupper secondary education, 2 years or less (ISCED97 3C) | 11.3890513 | 29.5004205 | 0.3860640 | 0.7017862 |
| year_n:edulevelpost-secondary education 3 years or more (ISCED97 5A) | -0.0028885 | 0.0103472 | -0.2791549 | 0.7817689 |
| year_n:edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | -0.0010180 | 0.0103472 | -0.0983890 | 0.9221848 |
| year_n:edulevelprimary and secondary education 9-10 years (ISCED97 2) | 0.0031239 | 0.0103472 | 0.3019079 | 0.7645090 |
| year_n:edulevelupper secondary education 3 years (ISCED97 3A) | -0.0017852 | 0.0103472 | -0.1725318 | 0.8640133 |
| year_n:edulevelupper secondary education, 2 years or less (ISCED97 3C) | 0.0161927 | 0.0103472 | 1.5649406 | 0.1265947 |
| sexwomen:year_n:edulevelpost-secondary education 3 years or more (ISCED97 5A) | 0.0021860 | 0.0146331 | 0.1493879 | 0.8821050 |
| sexwomen:year_n:edulevelpost-secondary education, less than 3 years (ISCED97 4+5B) | 0.0056127 | 0.0146331 | 0.3835596 | 0.7036250 |
| sexwomen:year_n:edulevelprimary and secondary education 9-10 years (ISCED97 2) | -0.0006652 | 0.0163603 | -0.0406584 | 0.9677993 |
| sexwomen:year_n:edulevelupper secondary education 3 years (ISCED97 3A) | 0.0037105 | 0.0146331 | 0.2535713 | 0.8013105 |
| sexwomen:year_n:edulevelupper secondary education, 2 years or less (ISCED97 3C) | -0.0056716 | 0.0146331 | -0.3875826 | 0.7006721 |
summary(model)$adj.r.squared
## [1] 0.9377879
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08897 6 27.6985 6.428e-12 ***
## year_n 0.05879 1 109.8150 2.456e-12 ***
## edulevel 0.35144 10 65.6498 < 2.2e-16 ***
## sex:year_n 0.00007 1 0.1338 0.71677
## sex:edulevel 0.00800 5 2.9902 0.02377 *
## year_n:edulevel 0.00298 5 1.1127 0.37150
## sex:year_n:edulevel 0.00039 5 0.1445 0.98038
## Residuals 0.01874 35
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("year_n", "edulevel","sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)
tb[29,]
## # A tibble: 1 x 8
## sector `occuptional (~ sex `level of educat~ year salary year_n edulevel
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 0 all ~ 214 Engineering~ men upper secondary ~ 2016 42100 2016 upper se~
model <- lm(log(salary) ~ sex * year_n * bs(eduyears, knots = c(14)), data = tbnum)
summary(model) %>%
tidy() %>%
knitr::kable(
booktabs = TRUE,
caption = 'Summary from linear model fit')
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -36.4297072 | 14.8747312 | -2.4491002 | 0.0189181 |
| sexwomen | -1.4146024 | 25.7220917 | -0.0549956 | 0.9564227 |
| year_n | 0.0233345 | 0.0073783 | 3.1625710 | 0.0030250 |
| bs(eduyears, knots = c(14))1 | -52.0255138 | 45.6462798 | -1.1397536 | 0.2613408 |
| bs(eduyears, knots = c(14))2 | 93.3207084 | 91.1108278 | 1.0242549 | 0.3120264 |
| bs(eduyears, knots = c(14))3 | -61.4602190 |<PHONE_NUMBER> | -0.5581585 | 0.5799266 |
| bs(eduyears, knots = c(14))4 | 7.8004982 | 21.0576228 | 0.3704358 | 0.7130621 |
| sexwomen:year_n | 0.0006670 | 0.0127569 | 0.0522889 | 0.9585654 |
| sexwomen:bs(eduyears, knots = c(14))1 | 35.6845382 | 68.0014005 | 0.5247618 | 0.6027192 |
| sexwomen:bs(eduyears, knots = c(14))2 | -81.1592876 |<PHONE_NUMBER> | -0.6288255 | 0.5331293 |
| sexwomen:bs(eduyears, knots = c(14))3 | 69.2953946 |<PHONE_NUMBER> | 0.4409335 | 0.6616959 |
| sexwomen:bs(eduyears, knots = c(14))4 | 0.0407412 | 33.2552425 | 0.0012251 | 0.9990288 |
| year_n:bs(eduyears, knots = c(14))1 | 0.0258343 | 0.0226420 | 1.1409884 | 0.2608328 |
| year_n:bs(eduyears, knots = c(14))2 | -0.0463124 | 0.0451939 | -1.0247509 | 0.3117952 |
| year_n:bs(eduyears, knots = c(14))3 | 0.0306293 | 0.0546193 | 0.5607783 | 0.5781565 |
| year_n:bs(eduyears, knots = c(14))4 | -0.0037577 | 0.0104452 | -0.3597567 | 0.7209699 |
| sexwomen:year_n:bs(eduyears, knots = c(14))1 | -0.0177678 | 0.0337292 | -0.5267776 | 0.6013316 |
| sexwomen:year_n:bs(eduyears, knots = c(14))2 | 0.0403738 | 0.0640202 | 0.6306418 | 0.5319531 |
| sexwomen:year_n:bs(eduyears, knots = c(14))3 | -0.0344753 | 0.0779537 | -0.4422531 | 0.6607490 |
| sexwomen:year_n:bs(eduyears, knots = c(14))4 | -0.0000238 | 0.0164940 | -0.0014428 | 0.9988562 |
summary(model)$adj.r.squared
## [1] 0.9364598
Anova(model, type = 2)
## Anova Table (Type II tests)
##
## Response: log(salary)
## Sum Sq Df F value Pr(>F)
## sex 0.08817 5 32.2521 7.295e-13 ***
## year_n 0.05891 1 107.7412 8.809e-13 ***
## bs(eduyears, knots = c(14)) 0.35011 8 80.0434 < 2.2e-16 ***
## sex:year_n 0.00008 1 0.1517 0.69908
## sex:bs(eduyears, knots = c(14)) 0.00706 4 3.2268 0.02218 *
## year_n:bs(eduyears, knots = c(14)) 0.00179 4 0.8168 0.52231
## sex:year_n:bs(eduyears, knots = c(14)) 0.00032 4 0.1468 0.96335
## Residuals 0.02132 39
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot_model(model, type = "pred", terms = c("eduyears", "year_n","sex"))
## Model has log-transformed response. Back-transforming predictions to original response scale. Standard errors are still on the log-scale.
plot(model, which = 1)


Reports any declaration of a
tostring()
method, taking one argument. Normally, this is a typo of
toString()
.
Powered by InspectionGadgets


{% extends "base.html" %} {% block content%}
{{ info[0] }} has a wide range of parking lots with lots of options. You can park your car, motorcycle, and bicycle. Bicycle parking is free of charge.
There are also electirical vehicle charging spots with high power at low costs. We also recommend you to be a member of us so you can get discounts. Click here to get more info on membership advantages.
{{ info[4] }}
{{ info[5] }}
{{ info[6] }}/{{ info[7] }}
{{ info[8] }}


case sensitivity
with Bit, A, and a
sdkfjksldf
sdkfjksldf
sdfjhsdkjf
sjlkdfjsdlkf
sjlkdfjsdlkf
sjlkdfjsdlkf
sdjfhjksdf


|
Fig 1
|
Change in maximum potential catch due to climate change effe ... |
|
Fig 2
|
Impact of climate change on mean catch under Opt management. ... |
|
Fig 3
|
Comparison of fishery outcomes for each fleet. Annual biomas ... |
|
Fig 4
|
Comparison of profit outcomes for each stock. Annual profit ... |
|
Fig 5
|
Comparison of total profit for length of projection for the ... |


|
Solar
|
Estimates the fundamental matrix from two set of keypoints that match together. UUID: 79b29b50-cf4d-441e-b5de-1de829b91c41
More...
#include <SolARFundamentalMatrixEstimationOpencv.h>
Public Member Functions | |
| SolARFundamentalMatrixEstimationOpencv () | |
| SolARFundamentalMatrixEstimationOpencv constructor. | |
| ~SolARFundamentalMatrixEstimationOpencv () override | |
| SolARFundamentalMatrixEstimationOpencv destructor. | |
| api::solver::pose::Transform2DFinder::RetCode | find (const std::vector< datastructure::Point2Df > &srcPoints, const std::vector< datastructure::Point2Df > &dstPoints, datastructure::Transform2Df &fundamental) override |
| Find fundamental matrix from 2 sets of 2d_points. Th estimation is based on the opencv findFundamental algorithm. More... | |
| void | unloadComponent () override final |
Estimates the fundamental matrix from two set of keypoints that match together. UUID: 79b29b50-cf4d-441e-b5de-1de829b91c41
| confidenceLevel | The desirable level of confidence (propability) that the estimated matrix is correct. |
| type: float; range : [0..1]; default: 0.99f | |
| outlierDistanceRatio | Here we are using a RANSAC method to remove outlier. This attribute is the ratio between the maximum distance in pixels between source points and the maximum distance in pixels to the epipolar line for which point is considered as a outlier. The higher is this ratio, the more you will keep inliers to estimate your 2D transform, but the less this estimation will be correct. By default, this value is set to the one proposed by [Snavely07 4.1] |
| type: float; range : [0..MAX FLOAT]; default: 0.006f |
|
override |
Find fundamental matrix from 2 sets of 2d_points. Th estimation is based on the opencv findFundamental algorithm.
| [in] | srcPoints | set of source 2d points. |
| [in] | targetPoints | set of target 2d points. |
| [out] | Estimated | Fundamental transform matrix. |


Page not found
4
4
We can't seem to find the page
you're looking for.
you're looking for.
Back to homepage
{# 这里要加 html5 的声明标签，否则样式会加载出现问题 #} {# 感觉是 html4 时代的模版了，不过感觉很好看，研究了好久才发现，有画蛇添足的感觉 #} {% load static %}


Hello guys what about a feature how lets us see the players on a specific country and see hows the best ,compare to you and all that, i tnink it would be great presume that u are the number 1 in your country
ORFK
Global Moderator
i think thats very complicated to script.
otherwise its mostly impossible to configure the rank and scoreboard/worldranking on blog.
BrainFooLong
Administrator
As ORFK said, impossible.
Topicstarter
el_kamus
brain wrote:
As ORFK said, impossible.
oh i see, is more like a bf3stats work rigth?
BrainFooLong
Administrator
BF3Stats can also not handle that, i guess.
But yes, BF3Stats can maybe do more for you at this point.


Anheuser-Busch to buy out Craft Brew Alliance in $321 million deal
(Reuters) - Brewer Anheuser-Busch Inbev NV will buy the rest of Craft Brew Alliance that it does not own in a deal valuing the Portland-based brewing company at about $321 million, the two companies said on Monday.
Shares of Craft Brew Alliance soared 122.6% to $16.32 after the bell, hovering near the offer price of $16.50 in cash.
The deal is a reversal in stance by the world’s largest brewer, which owns 31.2% stake in Craft Brew and had said in August it would not buy out the company.
Global brewers are facing several challenges in large developing markets in Asia, Latin America and Africa even as people consume less beer in Europe and the United States.
Craft Brew’s portfolio of regional breweries and lifestyle brands is an addition to Anheuser-Busch and will help fuel the growth of craft beer category in the competitive beer industry in the United States, Anheuser-Busch said.
The deal is expected to close in 2020, Craft Brew said.


8BitDo's N30 wireless mouse is a must-have for NES lovers
A period correct peripheral
by Shawn KnightBottom line: The 8BitDo N30 wireless mouse is clearly a nostalgia grab. It doesn’t look very comfortable for long-term use and there are far better options out there in terms of practicality but boy is that retro design incredibly gorgeous.
Third-party video game hardware maker 8BitDo is now shipping an affordable stocking stuffer that’s both nostalgic and practical.
Inspired by the original Nintendo Entertainment System, the 8BitDo N30 wireless mouse could easily be mistaken for a period correct accessory from the mid-1980s. Designed by Daniel Jansson years ago, the pointer has been brought to life through a partnership with 8BitDo and now you can own one.
The 2.4GHz mouse features left and right click buttons modeled after the A and B buttons from the original NES controller and even has a touch sensitive panel between the buttons. On the left side is a functional directional pad that offers page up / page down and forward / backward operation. It is compatible with both Windows and Mac.
Even the bottom of the pointer looks as you’d expect with feet on each corner, an on-off switch, the optical sensor and a battery compartment that also stores the USB dongle.
The 8BitDo N30 wireless mouse retails for $24.99 and for an additional $0.99, they’ll toss in an NES-inspired mouse pad.


JAGProperty Class Reference
| Inherits from | NSObject |
| Declared in | JAGProperty.h JAGProperty.m |
Overview
JAGProperty is an Objective-C wrapper for a class’s properties that
allows dynamic access to information about the property.
It is backed by an objc_property_t
object, but provides more friendly
methods for accessing the information.

Tasks
-
– attributeEncodings
A comma-separated list of attributes.
-
– typeEncoding
An NSString denoting the scalar/object type of the property.
-
– ivarName
Name of ivar backing the property.
-
– setterSemantics
Whether property is assign, retain, or copy.
-
– name
Name of property
-
– isReadOnly
Whether the property is readonly.
-
– isNonAtomic
Whether the property is nonatomic.
-
– isDynamic
Whether the property is dynamic.
-
– isWeakReference
Whether the property is a __weak reference, with respect to Garbage Collection.
Note this has nothing to do with iOS ARC
weak
label. An ARC property -
– isWeak
Whether the property is a weak pointer, in either OS X Garbage Collection or iOS ARC.
-
– isEligibleForGarbageCollection
Whether the object is elegible for Garbage Collection in OS X.
-
– isNumber
YES if the property is any sort of integer, float, char, or BOOL
-
– isObject
YES if the property is for an NSObject subclass or
id
. -
– isBlock
YES if the property is for a Block
-
– isId
YES if the property is for an
id
-
– propertyClass
The class of the property, if it is a defined object.
-
– isCollection
YES if the property is for an NSArray or NSSet subclass
-
– customGetter
-
– getter
Selector for getter. Defaults to @selector(propertyname) if no custom getter.
-
– customSetter
-
– setter
Selector for setter. Defaults to @selector(setPropertyname:) if no custom getter.
-
– canAcceptValue:
Test whether you can
[model setValue:value forKey:[property name]]
without receiving anNSInvalidArgumentException
.
Instance Methods
attributeEncodings
A comma-separated list of attributes.
- (NSString *)attributeEncodings
Return Value
An NSString of the comma-separated attributes.
Discussion
Possible attributes are:
R
The property is read-only (readonly
).C
The property is a copy of the value last assigned (copy
).&
The property is a reference to the value last assigned (retain
).N
The property is non-atomic (nonatomic
).G<myGetter>
The property defines a custom getter selector myGetter. The name follows theG
(for example,GmyGetter
).S<mySetter:>
The property defines a custom setter selector mySetter. The name follows theS
(for example,SmySetter:
).D
The property is dynamic (@dynamic
).W
The property is a weak reference (__weak
).P
The property is eligible for garbage collection.t<encoding>
Specifies the type using old-style encoding.
Declared In
JAGProperty.h
canAcceptValue:
Test whether you can [model setValue:value forKey:[property name]]
without receiving an NSInvalidArgumentException
.
- (BOOL)canAcceptValue:(id)value
Parameters
- value
Value to check for acceptance.
Return Value
YES if the property can be set with this value.
Discussion
This method is still under development. We are aiming for it to catch some cases that would lead to an exception, but we are erring on the side of letting bad things through rather than keeping good things out.
Declared In
JAGProperty.h
getter
Selector for getter. Defaults to @selector(propertyname) if no custom getter.
- (SEL)getter
Return Value
Selector for getter. Defaults to @selector(propertyname) if no custom getter.
Declared In
JAGProperty.h
isBlock
YES if the property is for a Block
- (BOOL)isBlock
Return Value
YES if the property is for a Block
Declared In
JAGProperty.h
isCollection
YES if the property is for an NSArray or NSSet subclass
- (BOOL)isCollection
Return Value
YES if the property is for an NSArray or NSSet subclass
Declared In
JAGProperty.h
isDynamic
Whether the property is dynamic.
- (BOOL)isDynamic
Return Value
YES if property has D attribute.
Declared In
JAGProperty.h
isEligibleForGarbageCollection
Whether the object is elegible for Garbage Collection in OS X.
- (BOOL)isEligibleForGarbageCollection
Return Value
YES if property has P attribute.
Declared In
JAGProperty.h
isId
YES if the property is for an id
- (BOOL)isId
Return Value
YES if the property is for an id
Declared In
JAGProperty.h
isNonAtomic
Whether the property is nonatomic.
- (BOOL)isNonAtomic
Return Value
YES if property has N attribute.
Declared In
JAGProperty.h
isNumber
YES if the property is any sort of integer, float, char, or BOOL
- (BOOL)isNumber
Return Value
YES if the property is any sort of integer, float, char, or BOOL
Declared In
JAGProperty.h
isObject
YES if the property is for an NSObject subclass or id
.
- (BOOL)isObject
Return Value
YES if the property is for an NSObject subclass or id
.
Declared In
JAGProperty.h
isReadOnly
Whether the property is readonly.
- (BOOL)isReadOnly
Return Value
YES if property has R attribute.
Declared In
JAGProperty.h
isWeak
Whether the property is a weak pointer, in either OS X Garbage Collection or iOS ARC.
- (BOOL)isWeak
Return Value
YES if property has W attribute, or is an Object and has setter semantics JAGPropertySetterSemanticsAssign
Discussion
The “W” attribute works for garbage-collected environments, but it does not
detect ARC weak
references. These are detected by an assign
-pointer to an object.
This also means that an iOS 4 object property with assign
semantics will also return YES.
Declared In
JAGProperty.h
isWeakReference
Whether the property is a __weak reference, with respect to Garbage Collection.
Note this has nothing to do with iOS ARC weak
label. An ARC property
- (BOOL)isWeakReference
Return Value
YES if property has W attribute.
Discussion
@property (weak) id delegate;
will have isWeakReference == NO. @see isWeak for how to handle that case.
Declared In
JAGProperty.h
ivarName
Name of ivar backing the property.
- (NSString *)ivarName
Return Value
Name of ivar backing the property.
Declared In
JAGProperty.h
propertyClass
The class of the property, if it is a defined object.
- (Class)propertyClass
Return Value
The Class of the property, or nil if undefined.
Discussion
If it is an id
or not an object, return nil.
Declared In
JAGProperty.h
setter
Selector for setter. Defaults to @selector(setPropertyname:) if no custom getter.
- (SEL)setter
Return Value
Selector for setter. Defaults to @selector(setPropertyname:) if no custom getter.
Declared In
JAGProperty.h
setterSemantics
Whether property is assign, retain, or copy.
- (JAGPropertySetterSemantics)setterSemantics
Return Value
JAGPropertySetterSemantics for assign, retain, or copy.
Discussion
Note that in ARC, strong
is the same as retain
, and
weak
is the same as assign
.
Declared In
JAGProperty.h
typeEncoding
An NSString denoting the scalar/object type of the property.
- (NSString *)typeEncoding
Return Value
An NSString of the type encoding.
Discussion
Note that for properties for objects with a defined class, the return is the NSString @"CLASS_NAME"
(including the @""
, so it’s equivalent to @"@\"CLASS_NAME\""
).
c
A char (includingBOOL
)i
An ints
A shortl
A long l is treated as a 32-bit quantity on 64-bit programs.q
A long longC
An unsigned charI
An unsigned intS
An unsigned shortL
An unsigned longQ
An unsigned long longf
A floatd
A doubleB
A C++ bool or a C99 _Boolv
A void*
A character string (char *
)@
An object (whether statically typed or typed id). For statically typed objects, it is of the form:@"NSString"
Blocks are encoded as@?
#
A class object (Class
):
A method selector (SEL
)[array type]
An array, eg[12^f]
{name=type...}
A structure, eg{example=@*i}
(name=type...)
A unionbNUM
A bit field of num bits^type
A pointer to type, eg^i
?
An unknown type (among other things, this code is used for function pointers)
Declared In
JAGProperty.h


JADE A film review by Christopher Null Copyright 1995 Christopher Null
A few short weeks ago I posed the question, "What is Joe Eszterhas going to do next (after SHOWGIRLS)?" Well, this is it: JADE, a horrid little thriller about a whole bunch of obsessive-compulsive crazies, some of whom may be murderers.
Actually, I wish it was that simple. Perennial bad-girl Linda Fiorentino plays Trina Gavin, a sultry psychologist with a questionable past. Chazz Palminteri is her sicko attorney husband Matt, and David Caruso plays assistant D.A. David Corelli, who is assigned to look into the murder of a wealthy art collector to whom everyone seems to be linked ... especially Trina.
What follows is a convoluted delving into a prostitution ring, one backstabbing after another, some raunchy sex, and a whole slew of sick obsessions, each of which seems to outdo the last one. You realize pretty quickly that no one is innocent in JADE, and it soon becomes clear that the identity of the real killer is unimportant--*all* of these people should be locked up.
A bunch of annoying characters combined with a bad script conspire to give us a thriller that isn't particularly thrilling. Except for one awesome car chase through the hilly streets of San Francisco and through a parade in Chinatown, there's very little to redeem this feature. Director William Friedkin previously won a slew of awards for directing THE FRENCH CONNECTION, and seems to have found his calling in car chases. Unfortunately, CONNECTION was made in 1971, and while Friedkin's direction still has style, it ain't what it used to be.
It's really a shame that a cast of genuinely great actors would get together and star in such a poor film. Palminteri looks simply ragged in JADE, obviously not happy to be there. Even supermodel Angie Everhart, in her motion picture debut, is wasted--spending her entire screen time being chased and beaten up.
It's funny. That's how *I* felt.
RATING: **
\-------------------------------\ |* Unquestionably awful | |** Sub-par on many levels | |*** Average, hits and misses | |**** Good, memorable film | |***** Perfection | \-------------------------------\
-Christopher Null /<EMAIL_ADDRESS>-Movie Emporium (archives) / http://www.notes.tpoint.net/emporium/ -Contributing Editor, FEEDBACK / http://www.eden.com/~feedback -E-mail requests to join the movie review mailing list
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Principles
Wikimedia projects are associated with learning, editorship, and books. They are neutral and transparent. They are about reading and writing.
Wikipedia is our most prominent project.
It's an encyclopedia. It's a modern encyclopedia. We have a certain perception of visual identity when we talk about encyclopedias. An identity which reflects wisdom. At the same time, traditional encyclopedias have a dated look and feel. This is also the big difference between traditional knowledge sharing and Wikipedia.
Wikipedia is continuously evolving and we need to incorporate that into its look and feel.
Paper was the largest medium for spreading knowledge. Today it is computers. We borrowed values that are tied to printed media. Values like trustworthiness and academical objectivity.
We start with basic elements like paper and ink, then extend it further to match the needs of our visual character.
Paper casts subtle shadows onto a base surface. Paper has slightly rounded corners due to its organic nature.
We follow our design principles of content first, content precedes chrome.
Chrome is the visual design elements that give users information about or commands to operate on the screen's content (as opposed to being part of that content). Browser and GUI Chrome, Nielsen 2012
Content goes on paper, chrome stays on the base layer.
Our color choices are inspired by black, white, and ink blue. Typography has roots in traditional typefaces.
It is an uncommon mix of new and old media. Joyful yet trustworthy.
The topics in this section are examinations of these ideas.


(2020) In this book by Mukesh Bansal, the founder of Myntra (and IITK alumni!) talks how to optimize our performance to maximize the achievements in our life. His main point is that mostly talent is not the limiting factor for achievement, but it is deliberate practice.
(2019) This is a popular health related book by Michael Greger. Author takes top 10 causes of death, with top few being heart diseases, lung diseases, brain diseases etc, and posits that a vegan diet, with whole food plant based diet, with little/no alcohol and no smoking is the best diet to have. Seems a bit too much evangelizing on vegetarian diet, but then it presents data to support the hypotheses.
It also provides a "daily dozen" checklist of the the food items that you must intake everyday for optimum living.
(2018) This is a book by popular Japanese writer Haruki Murakami, who is also an ultra marathon runner. It was recommended to by my Taiwanese friend, Jeffrey Liu, who is also a marathon runner. It is an easy to read write up about how Haruki took up running and what he thinks about when he is running.
(2019) Writte by Matt Haig. The author has suffered from massive depression. He recounts how he has fought the depression. You cannot overcome depression, but can work around it to improve your life. Another learning is that depression is a medical condition, not just a pessimistic way of thinking which can be overcome by perhaps some motivational reading or changing one's view point.
(2019) I have thoroughly liked the TV serial Byomkesh Bakshi. Since it was inspired by Sherlock Holmes, I had always intended to read this classic by Arthur Conan Doyle. This was a complete collection of Sherlock Holmes stories, some big and small small. I thoroughly enjoyed reading the book. Apart from the detective stories themselves, we also get a taste of late 1800s London and it is interesting to note some references to India in the stories.


Stewie's daughter, Ch. Staghorn's Reflections
Stewie's daughter BPIG Ch Staghorn's Molly Girl Brown (Certified St. John's Ambulance Therapy Dog)
Am CH/ BISS Can GCH. Staghorn's Harris Tweed (a.k.a Stewie)
(Am/Can Ch Staghorn's Bearridge Caliber X Can Ch Castlegar Lubberline The Eagle)
Major pointed in the USA (including a Specialty win)
D.O.B. October 26, 2010
OFA Hips Good, Elbows Normal, Optigen Clear, Annual CERF
Cardiac ECHO clear, EIC carrier by parentage
Stewie is my pride and joy. He recently won Best in Specialty and Best Bred By Exhibitor in Specialty, under respected Labrador Breeder Judge, Sally Bell of Borador's Reg'd (USA). Then little more than a month later, and despite being out of coat, an Award of Merit under respected Judge Leslie Grant, of Gorsebrook Reg'd. We couldn't be prouder of this handsome showman. A pleasure to live with and a joy to show, I am always so proud to walk into any ring with my home bred lovely, compact black boy. Everyone who knows Stewie at the shows knows he's quite the comedian and loves to insist on all your hugs and kisses. He is well muscled, short coupled, with excellent front and rear angles and lots of thigh and second thigh, just the way we love them. Sire to champion and therapy dog get, Mr. Stew will wow you with his all round quality and oomph.
Stewie's daughter, Ch. Staghorn's Reflections
Stewie's daughter BPIG Ch Staghorn's Molly Girl Brown (Certified St. John's Ambulance Therapy Dog)


Written by: Scott Silveri
Directed by: David Schwimmer
Transcribed by: Christoph Pšper
[Scene: Central Perk. All except Chandler, plus Emma.]
Phoebe: Oh hey you guys, I couldnít get a reservation for the night of my birthday, so we have to do dinner Thursday night instead.
Joey: Thursday? But thatís Halloween.
Phoebe: So?
Joey: [Itís just] So spooky, thatís all.
Ross: So, so, is Mike coming to dinner?
Phoebe: No! Itís my first birthday with a boyfriend, and he has to work. Uch, I get mad at him, but I think itís a little to soon to show my true colors.
Rachel: Pheebs, I would make a reservation for five, because one of us has to stay home and watch Emma. (to Ross:) Which one of us should go to dinner?
Phoebe: Oh, Rachel!
Ross: Actually, um, I was thinking maybe both of us could go.
Phoebe: Oh, yay!
Ross: Thanks, I put a lot of extra thoughts on your gift.
Phoebe: Alright, okay, so we can all go now. That is fun. Hey, you know what? We all havenít been together the six of us in such a long time.
Monica: What are you talking about? Weíre all together right now.
Rachel: Um, Mon, Chandlerís not here.
Monica: Oh, dear god!
Opening Credits
[Scene: Tulsa, a conference room. Chandler is chairing a group of eight people.]
Chandler: Good morning everyone, itís nice to see our team together for the first time. Now, before we get started, are there any questions? (colleague raises hand) Yes, Ken is it?
Ken: Thatís right. Is it true, that the reason you are here in Tulsa is that you fell asleep in a meeting and took the job without realizing what you were saying yes to?
Chandler: (laughs) Well, donít believe everything you hear, Ken. (both turning away to files) But yeah, thatís true. Alright, letís get started, by take a look at last quarterís figures.
Claudia: Iím sorry. Does the smoke bother you?
Chandler: No, no, no-no-no. I smoked for years, then I quit. Right now, I canít remember why. (to everyone:) Youíre not allowed to smoke in this office. Not right?
Claudia: Yes, in Oklahoma itís legal to smoke in offices with fifteen people or less. (passing the pack) Would you like one?
Chandler: Alright, loÖlook. I donít smoke anymore.  Thatís almost rude, that Iím not.
Ken: Thatís not true. If you donít wanna smoke Ö
Chandler: (loud) Ken, please! No, I canít, I canít smoke.

Chandler: I always liked you, Ken. (takes a cigarette)
[Scene: The Bingsí. Monica in bathrobe, merely covered. Someoneís knocking at the door.]
Phoebe: (from outside) Trick or treat! (Itís obviously Halloween eve, the night of her birthday dinner.)
Monica: (opening the door) Hey!
Phoebe: Ooh, and treat it is. (Monicaís breasts.)
Monica: Hmhmm. (ties up)
Phoebe: Wow, so glad I changed. Almost wore my ??? outfit that canít contain my breasts.
Monica: This is not, what Iím wearing. Iím ovulating and Chandlerís gonna be home any minute, so I thought we would try before dinner.
Phoebe: Ohh. Oh wait! (Jis) you guys wonít be late for my dinner, will you?
Monica: Believe me, Chandler and I have not seen each other in over a week. Weíll probably be the first ones there.
Phoebe: íkay, see you there. Happy humping! (outside meeting Chandler.) HeyÖhey! Oh, wow, somebody smoked out here? Oh my god, donít people know, youíre not allowed to smoke in public spaces?
Chandler: Actually, in Oklahoma smoking is legal in all commune areas and offices with fewer than fifteen people.
Phoebe: You smoked!
Chandler: No! I just happened tído a lot trivias about smoking in different states. For example, in Hawaii cigarettes are called Leyhallalookoos.
Phoebe: (smells at him) Chandler, you stink of cigarettes.

Phoebe: Are you kidding? The woman has the nose of a bloodhound Ö and the breasts of a Greek goddess.
Chandler: Pheebs?
Phoebe: (embarrassed) Iím gonna go. (leaves to stairs)
Chandler: (getting in) Okay, something to cover the smell Ö Oven cleaner! (sprays himself, reads label) Unscented!
Monica: (naughty in doorway) Welcome home. Iíve missed you. join me in the bedroom?
Chandler: No thanks, Iím good.
Monica: (comes over) O-kay, so you wanna play it that way, do you?
Chandler: (shrinks back) Right. You know what? Actually I just get off the plane, so Iím feeling kinda gross. Maybe I should just take a shower.
Monica: You donít need a shower.
Chandler: (still backs away) Alright, the truth is, I soiled myself during some turbulences.
Monica: What do I smell? (sniffs him) I smell smoke. Huhódid you smoke?
Chandler: Yes, but I just had one. Two. Two tiny cigarettes. Okay, five. A pack. Two packÖaÖa carton. Three big fat cartons in two days. (How many cigarettes are there in one pack and how many packs in one carton in the US?) But itís over, I made a decision, Iím not gonna smoke anymore.
Monica: (gets a pack out of his jacket)
Chandler: But, those are for you.
[Scene: Ross and Rachelís. Ross phones, Rachel and Emma are there.]
Ross: Alright, weíll just, uh, see when you get here. Bye. (hangs up) Huh, that was my mom, sheís stuck in terrible traffic.
Rachel: Okay, well thatís now the third sign that I should not leave Emma.
Ross: Oh, what were the other two?
Rachel: Well, letís see. The first one is: I donít want to. And, you know, Iím not going.
Ross: I know, itís the first time, weíre leaving the baby and Ö hey, I know how hard it is for you, but Ö but Emma is gonna be fine. My mom is gonna be with her. Sheís great with kids.
Rachel: She is?
Ross: Ya.
Rachel: What about (?) Monica.
Ross: Hey, you only heard Monicaís side of that. That little fatso was a terror.
Rachel: Ish. I just donít think I can bear it.
Ross: Rachel, I know that you can. And you should.
Rachel: Uch.
Ross: Really, it would be good for you and in fact, why donít you, why donít you go ahead to the restaurant and I will wait for my mom and then Iíll meet you there.
Rachel: Oh-A.
Ross: No, no, really. You should go. Just go! Go!  Really, the world is your oyster. Kick up the heels. Paint the town red. (Slang right?)
Rachel: You need to learn some new slang.
Ross: Iím serious. Címon, you should go. Here. (shoves her outside, while she tries to stay) No, uh-uh, just go.
Rachel: What Ö Oh! (points inside)
Ross: No! No, you know what? (closes the door) You [canít get in there] (?), the babyís fine, now squam (?).  (?)
Rachel: I was just going to say that I left my keys.
Ross: Oh, (door is locked) holy molly are we in a pickle now.
[Scene: The restaurant. Phoebe and Joey are sitting alone at a table for six.]
Phoebe: Where is everyone? Theyíre forty minutes late.
Joey: I know, u-uch.
Phoebe: Iím starving.
Joey: What about me, he? Only had one lunch today.
Waiter: (with British accent) Soo, are we expecting the rest of our party shortly?
Phoebe: Yes, they are expected presently. Yeah, yeah um, their arrival is in the offing.
Waiter: Right. We do have a table for two available, perhaps you would be more comfortable.
Joey: No, theyíre cominí, weíre waitiní right here.
Phoebe: Joseph! (to waiter) Thou neednít worry, they shanít be long.
Waiter: Itís just that we do have some large parties waiting.
 Doesnít one?
[Scene: The Bingsí.]
Monica: How can you smoke in this day of age? Do you not seen that ad with a little kid walks to grandpa, itís chilling.
Chandler: I messed up, it was a meeting, everybody was smoking.
Monica: So what? Donít you have any will power?
Chandler: Will power? Iíve watch home movies of you eating ding-dongs (?) without taking the tin foil off.
Monica: You said that was sexy!
Chandler: íkay, look: Can we just drop this? Iím not gonna smoke again.
Monica: Thatís right, because I forbid you to smoke again.
Chandler: You forbid me?
Monica: Mhmm.
Chandler: You know, I flew a long way t see my loving wife? Is she here by the way?
Monica: Donít joke (?) with me, okay? Iím very, very upset right now.
Chandler: Oh, would you say this was the most upset you could be?
Monica: Yes.
Chandler: Then, I might as well Ö (grabs the cigarettes) do this (lights one, exhales). Not really sure what to do now.

Chandler: Fine. What!?
Monica: Sex! This is the last day Iím ovulating, and when we donít do it now, weíll have to wait till next month. (walks towards bedroom)
Chandler: You serious? (follows)
Monica: Oh yeah!
Chandler: Right, fine, Iíll do it, but no talking.
Monica: Huh, and no cuddling.
Chandler: And no kissing your neck.

[Scene: Outside Ross and Rachelís.]
Ross: Okay, well the ??? is not home.
 And she has the keys.
Rachel: Alright, I canít, I canít wait that long. You have to do somethingóknock that door down!
Ross: I would, but I bruise like a peach. Besides, yÖyou know, everything is gonna be fine. The babyís sleeping.
Rachel: What if she jumped out the bassinet?
Ross: Canít hold her own head up, but yeah jumped.
Rachel: Oh my god, I left the water running.
Ross: Rach you did not leave the water running. Please, just pull yourself together, okay?
Rachel: Ah, did I leave the stove on?
Ross: You never cooked since 1996. (Actually Rachel cooked in ď609 - TOW Ross Got HighĒ, first aired 1999-11-25.)
Rachel: Is the window open? Because if thereís a window open, a bird could fly in there.
Ross: Oh my god, you know what, yeah, I think youíre right. I think Ö listen, listen!
Rachel: Ubb.
Ross: A pigeon, a pigeon. (previously scared Rachel turns away) No, no wait, no-no, an eagle flew in. Landed on the stove and caught fire. The baby, seeing this, jumps across the apartment to the mighty birdís aid. The eagle, however, misconstrues as an act of aggression and grabs the baby on its talon. Meanwhile the faucet fills the apartment with water. Baby and bird still up lays (?) are locked in a death grip, swirling around the whirl pool, that fills the apartment.
Rachel: Boy, are you gonna be sorry if thatís true.
[Scene: The restaurant with still just Phoebe and Joey.]
Waiter: Hello.
Phoebe & Joey: Hey.
Waiter: Itís been an hour. ??? be willing to reconsider switching to a smaller table.
Joey: Maybe we should just eat now.
Waiter: You canít order until your entire party has arrived. Restaurant policy.
Joey: Wha-a how about this: Another table leaves, right? But thereís still some food left on their place, okay, whatís the restaurantís policy about people eatiní that?
Waiter: Estrangement (?).
Joey: But it happens? (waiter leaves) Iím gotta go to the bathroom.
Phoebe: No, you canít go. No-no-no, I canít hold this table on my own. If they ask me to move, I cave.
Joey: If you ask me to stay, Iíll pee. (leaves)
Maitre Dí: Good evening, Miss. (Phoebe turns her head away) Miss? (from the opposite side) Miss? (she turns again) Miss!
Phoebe: Okay, fine, Iíll move. Alright, you donít have to manhandle me. (gets up) Where? (he points at a smaller table) Okay. Thank you. Wach.
Joey: (returns to their old table where elderly people are sitting now, sits) Finally you guys made it. (looks up, turns left to Phoebeís chair) Pheebs, who the hellóuhuhh!
[Scene: The Bingsí bedroom, Chandler is undressing, Monica in bed already.]
Monica: Spend more time with the tie. Thatíll make a baby.
Chandler: Look, I canít do this. I canít make luv to you while weíre fighting this way.
Monica: Oh sure, now youíre Mister Sensitivity. But when you wanted to have sex right after my uncleís funeral
Chandler: That was a celebration of life. Alright, look, Iím not gonna do this. Alright, is this really the way you want a baby to be conceived?
Monica: No, youíre right. Mnya, we shouldnít do it like this. Huch. For what itís worth, Iím, Iím sorry. I shouldnít have come down on you so hard about the smoking. So you had a few cigarettes, not the end of the world.
Chandler: Mean it?
Monica: Yah.
Chandler: You are incredible. Unless, IÖIím not gonna smoke again. And if I do, I promise, I will hide it so much better from you. (they kiss)
Monica: Díyou want to?
Chandler: Yeah, letís celebrate life!
Monica: íkay.
[Scene: Ms. Geller, Rachel and Ross storm into the apartment.]
Rachel: Och, god. (seeing Emma) Oh, thank god, youíre okay. Iím so sorry we left you. Mom never gonna leave you again. Never ever ever again. Uch.
Ross: Great. So letís get going?
Rachel: Oh no. I mean it. After what just happened, Iím never leaving her again.
Ms. Geller: I understand, separation is hard. One time I was about to leave Ross to go to the beauty parlor and he got so upset, he took off all his clothes, tucked his ??? between his legs and cried out: ďMommy, Iím a girl, take me with you.Ē
Ross: Somehow over time it got easier to be apart from you.
[Scene: Bings in bed, finished.]
Chandler: Uhh. You are welcome.
Monica: You know what? Letís not talk.
Chandler: What?
Monica: Uch. I am still so mad at you for smoking.
Chandler: But you said you forgave me. It was just a couple of cigarettesóno big deal.
Monica: Oh, blablablabaybaybay.
Chandler: Leave it.

Chandler: You tricked me to get me into bed?
Monica: Thatís right, I got mine.
Chandler: I feel so used.
[Scene: Restaurant, still just the not-couple.]
Phoebe: Well, I guess theyíre not coming. You wanna just order?
Joey: Thank you. (stands up and kisses her lips.) Waiter! ílright, this is gonna be fast, so try to keep up: Risotto with the shaped truffles and the roasted rip steak with the golden Chanterelles and a Bordelaise sauce and that any that stuff I just said means snails. (Hope, *I* kept up.)
Waiter: Eródoes not.
Phoebe: Tomato tart and which of the pastas would you recommend?
Waiter: Oh, theyíre both exclusÖ
Phoebe: Both it is, thank you.
Joey: Oh, uh, again. Can I make a special request: Can you bring everything as soon as itís ready? Appetizers, entrees, we donít care.
Ross & Rachel: (entering) Hey, hi, hi!
Waiter: Iíll just wait to put your order in.
Phoebe: You guys are over an hour late. What happened to you two?
Ross: Iím so sorry Ö
Rachel: We got locked out of the apartment, we Ö
Joey: Thatís a great storyócan I eat it?
Ross: And then Rachel wasnít sure she could leave the baby.
Rachel: N-it wasnít easy, but itís your birthday and I did what I got to do.
Phoebe: And thatís Judy over there at the bar with Emma?
Rachel: Oh honey, this is for the best, thus Iím not distracted, worrying about Emma, how sheís doing at home and Iím being completely here with you and, oh, she spit up!
Ross: What?
 Judy! She spiÖJudy! Look alive, Judy! (they sit down) Thank you.
Ross: Thanks. Oh.
Rachel: Oh, ooh, everything looks delicious. What should I ha-ave? What should I have?
Joey: (mumbling) Never hit a woman. Never hit a woman.
Ross: Yíknow this ??? is incredible.
Joey: Ross bruises like a peach. He bruises like a peach.
Ross: Okay, Iíll have the fixed salad and the duck.
Rachel: Yah, Iíll have the soup and the salmon.
Joey: And remember whatever comes up first. Okay? And hurry, because Ö
Monica: (entering with husband) Happy birthday!

Phoebe: Wher-where have you been?
Monica: Well, we had a little fight.
Chandler: I would never lie to get someone into bed.
 Wow, little tight, isnít it?    Whoo, I suppose that Chandler will have the smoked duck.
Chandler: I suppose that Monica will have the Ö manipulative shrew.
Waiter: Iíll give you another minute.
Joey: Why are you going? He said, she wanted the shrew! (runs after the waiter)
Ross: Rach, címon, Emma is fine. Youíre turning into an obsessive mother. Okay, you need to stop.
Rachel: Yíguys ever heard the story about when Rosses mom went to the beauty salon?
Chandler: You mean the lully story?
Ross: (childish) Huh-huh, they already know it.
Phoebe: You guys, weíve been waiting for you for a long time, maybe you should order.
Joey: (returned) No, no, itís okay, I already told the waiter what they want.
Monica: Why would you do that?
Joey: Chandler, control your woman!
Rachel: (lifts for a toast) Okay, as everybody has ordered, I would like to start the celebration and make a toast Ö to Phoebe. She dropped her sock.
Phoebe: Aw Ö what?
Rachel: N-no, Emma dropped her sock.
Monica: Momís here? I wanted to have lunch with her today, she told me she was out of town.
Rachel: Ross, she still has not noticed that the babyís sock is on the ground.
Phoebe: ís a good toast.
Rachel: (to Ross) Could you please get her attention?
Ross: W-oa Ö Mommy! (gestures to his not understanding mother)
Phoebe: (getting up) Oh, for godís sake, Judy, pick up the sock! Pick up the sock! Pick up the sock! (everybody scared) Iím sorry, was that rude? Di-did my, my li-little outburst blunt (?) the hideousness (?) that is this evening? Look, I know, you all have a lot going on, but all I wanted to do was have dinner with my friends on my birthday. And you are all so late and you didnít even have the courtesy to call. (her cellular rings) Well, itís too late now.
Ross: Well, ??? think thatís us?
Phoebe: well, this is, this is, this is not over! (on phone) Hello?
Joey: (to Chandler and Monica) Well, what is going on with you two?
Monica: Uch, you see, Iím ovulating.
Chandler: Oh yeah, thatís what she says. But maybe youíre not ovulating at all, maybe itís just a clever ruse to get me into bed.
Monica: Yes smokie, that is what it was. I just canít get enough.
Chandler: (to Joey) You not gonna believe this: She lied!
Joey: So? Did have sex, right?
Chandler: Whatís the matter with me? Why Iím such a girl?
Phoebe: (returns) Okay, that was Mike.
Rachel: Phoebe, hi, weíre so sorry. Youíre totally right. We are here one hundred per cent and we love you and we are ready to start your birthday celebration.
Phoebe: Mhuh, guys, that means the world to me.
Rachel: What?
Phoebe: Oh, I love you guys too, but Mike got off work early. Wait. Wait, Iím not tónot that kind of girl that just ditches her friends to be with her boyfriend. You know what? I am. Bye guys! (waves to the bar) Judy! Bye.
Rachel: Oh thank god, if Phoebeís going, can we please take Emma home?
Ross: You know, I think thatís a good ideaóour babysitter just pounded in another Chardonnet. (both get up) Bye, yíguys.
Monica: Bye.
Joey: See ya. Well, this is just us.
Monica & Chandler: Mhum.
Monica: So, Iím, Iím probably still ovulating. Do you want to give it another try?

Joey: Do, do you gonna do it now?
Monica: We donít have much time. Once the egg descended the oviduct Ö
Joey: No-ohoh. (the Bings leave, the waiter comes)
Maitre Dí: I sincerely hope the rest of your party is returning.
Joey: Nah, just me. All alone. (all the food is served) Dinner for six for one, uh, you boys are about to see something really special.
Closing Credits
[Scene: continues, Joey finished everything.]
Waiter: How was everything, sir?
Joey: Excellent. The shrew in particular was exclusive.
Waiter: Well, I hope, you got some room left.
Waiters: (with birthday cake, singing) Happy birthday to you, happy birthday to you, happy birthday dear Ö
Joey: Joey! Joey.
Waiters: Ö Joey, happy birthday to you.
Joey: Thatís the best birthday ever.
End


Get Carter
The job of the film critic is to see a movie and write a review of it that tells you what it's about and why it's good or bad. I feel kind of embarrassed to admit this, but I after having seen "Get Carter" I really can't tell you what it's about although I could go on and on about how and why it's a bad movie.
"Get Carter" falls into that category of movies that continue to be made for reasons unknown to anyone outside of a Hollywood executive board room. You might call them the "Steven Seagal/Mickey Rourke/Jean-Claude Van Damme/Wesley Snipes School of Mediocre Action/Crime Thrillers." You know - the potboilers that are heavy on fistfights, shoot-outs and car chases but really light on plot and character development. They have stories where the so-called hero just keeps running into characters who have some connection to one of the other characters who are all antagonists without a reason for being in the movie other than to give the protagonist someone to fight, chase or shoot at.
Sylvester Stallone stars as Jack Carter, a Las Vegas-based mob enforcer who returns home* for his brother's funeral. He believes his brother Richie was "taken out" and didn't die from a DWI accident. Carter's one of the most cliche bad-asses ever captured on celluloid. His face alone is pretty intimidating and there's quite a few scenes in which he leans on both regular citizens and criminal lowlives simply by staring them down and speaking with confidence in his "Rambo-on-testosterone-therapy" voice. Stallone's performance in this movie is so forced and unnatural he doesn't realize he's mocking himself.
The actual story involves Carter's investigation into his brother Richie's death. He's in a town that's not his but somehow the local top dogs know him very well. Mickey Rourke co-stars as one of these characters, a sort of crime boss who has something to do with running a porno web site and blackmailing a young Internet tycoon (played by Alan Cummings looking and acting a lot like Pee Wee Herman). There's also another plot involving Richie's mistress, a secret CD-ROM with some convicting and disturbing evidence on it and something terrible involving one of Carter's still-living relatives.
I'm rolling my eyes just thinking about trying to critique all this in a way that could be remotely comprehendible. I could just rip the screenplay to shreds, plus the direction or the editing or the production values but that would require discussion of nearly every scene in order to explain it all. I don't like to put spoliers in my reviews either intentionally or accidentally.
Yes, "Get Carter" is just that complicated and complex. And what's worse is that it's not this intricate to make it seem smart like "The Usual Suspects" for example - just the opposite. You get the feeling whoever wrote this script did it in short intervals spaced far apart and they probably didn't remember what had already happened and didn't figure out how each scene would lead in to the next one or how the major plot points would work towards the climax.

Making a movie entirely about criminals doesn't necessarily mean they have to be unlikable and cliche cutout characters. Mel Gibson starred in "Payback" a few years ago that had a story not unlike this one but had such a good screenplay you couldn't help but like him even though he was just as bad a guy as Jack Carter.
So ultimately "Get Carter" fails for pretty much every selling point it has. Carter is not a likable character and you really don't care if he gets revenge or not. The action sequences are not at all exciting or original. The enemies and their massive conspiracy are not threatening at all (c'mon, you know who's going to win every brawl and shoot-out and car chase). In the end you don't feel nearly satisfied with the results. The filmmakers did a good job in doing everything as unoriginal as possible.
GRADE: C-
* the city is never mentioned by name but I assume it's Seattle since all the cars have Washington license plates and it's always raining.
You can also read this review at: http://www.epinions.com/mvie-review-3A4E-B9887A8-39E4970C-prod1 And other reviews on the same topic at: http://www.epinions.com/mvie Check out my profile page at: http://www.epinions.com/user-chad9976
***** Chad'z Movie Page is back! In-depth reviews of nearly all mainstream films playing at your local cineplex. There's also reviews of a few classic films and some of your personal favorites.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Homepage
Plans
About
Contact
Admin panel
Log out
Title editor
Submit
Lesson editor
Date:
Subject:
Teacher:
Room:
Submit
Other options
Generate new plan
Export to PDF
Available plans
Plan editor
Hours
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday


static
, private
, final
or abstract
, and whose bodies
are not empty.
Coding in a style that avoids such methods protects the contracts of classes from being broken by their subclasses. The benefit of this style is that subclasses cannot corrupt the state of the superclass by forgetting to call the super method. The cost is that subclasses are limited in their flexibility, in particular they cannot prevent execution of code in the superclass. Use the quick-fix to add the missing modifiers.
Example:
class Foo {
public boolean equals(Object o) { return true; }
}
After the quick-fix is applied:
class Foo {
public final boolean equals(Object o) { return true; }
}
This inspection is intended for code that is going to be used in secure environments, and is probably not appropriate for less restrictive environments.


Sierra Leone
How the World was Created from a Drop of Milk
In the beginning, there was an enormous drop of milk. This is how Doondari descended and he created stone. Stone created iron and iron created fire. Fire created water and water created air. Then Doodari came down a second time and he took the five elements. With them he formed man, but man was proud so Doondari created blindness and blindness overcame man. But when blindness became too proud, Doondari created sleep and sleep overcame blindness. But when sleep became too proud Doondari created boredom and boredom overcame sleep. But when boredom became too proud Doondari created death, and death overcame boredom. But when death became too proud, Doondari descended for the third time and he came in the guise of Gueno, the Eternal and Gueno overcame death.
Source: Here