Title: | Two-Dimensional Sociometric Status Determination with Rating Scales |
---|---|
Description: | A set of functions for two-dimensional sociometric status determination with rating scales. For each person assessed, SSrat computes probability distributions of the total scores for `Sympathy' (S), `Antipathy' (A), social `Preference' (P) and social `Impact' (I), and applies a set of criteria for sociometric status categorization. |
Authors: | Hans Landsheer |
Maintainer: | Hans Landsheer <[email protected]> |
License: | GPL-2 |
Version: | 1.1 |
Built: | 2024-11-11 03:13:17 UTC |
Source: | https://github.com/cran/SSrat |
Background data of the children, complementary to the files with the rating data Ss96.rat, Ss97.rat and Ss98.rat. This data file contains 205 observations of 4 variables. Measurements of these Dutch primary school children were taken three times, in 1996, 1997 and 1998. In 1996, the sample consisted of 193 students (91 boys, 96 girls, six gender unknown); 189 students were involved in 1997 (90 boys, 95 girls, 4 gender unknown); and in 1998, 189 students participated (91 boys, 98 girls). Average age in 1998 was 11.3 years, with ages ranging from 11 to 13 years. The participants were asked to rate all their classmates on a seven-point scale: dislike very much, dislike much, dislike, ordinary, like, like much, and like very much.
A data frame with 205 observations of 4 variables.
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
Sex of the respondents, 1 = Male, 2 = Female
Age of the respondents
Maassen, G.H., Van Boxtel, H.W., & Goossens, F.A. (2005). Reliabilty of nomination and two-dimensional rating scale methods for sociometric status determination. Journal of Applied Developmental Psychology, 26, 51-68.
data(Ss98.rat)
data(Ss98.rat)
Calculates the social status determinations from a SSrat compliant
dataframe, as described in readratdatafixed
.
The dataframe
may contain multiple groups. This function can only be used when the rating
scale is equal for all groups.
Basically, this function calls the
calcgroup
function as often as there are groups in the SSrat
compliant dataframe.
The resulting dataframe with social sttaus
determinations can be analyzed with standard tools for statistical analyis,
such as linear regression (lm
). Other data, such as background
variables can be added to the dataframe.
calcallgroups(dataframe, alpha = c(0.1, 0.05, 0.01), NBcriteria = F)
calcallgroups(dataframe, alpha = c(0.1, 0.05, 0.01), NBcriteria = F)
dataframe |
The input dataframe with the rating data. This dataframe should have columns schoolid, groupid, respid, and for n raters n columns named "r01", "r02" .. "r<n>", with a maximum of r99. |
alpha |
The significance levels to be applied to the probability distributions of the four total scores that have been derived from the ratings. By choosing an appropriate alpha, the user can fine tune the criterion for the status determination. A list of various alphas can be supplied. Default is the list (.10, .05, .01). |
NBcriteria |
A boolean. When TRUE, the classification criteria of
Newcomb & Bukowski (1983) will be applied, in stead of the SSrat criteria.
These criteria are applicable to three-point rating scales. When this option
is selected for longer scales, the scale midpoint is recoded to 2, all
scores larger than the midscore are recoded to 3 and all scores lower than
the midscore are recoded to 1. When another recoding scheme is preferred,
the input ratings themselves should be recoded (use |
See function calcgroup
for more details.
dataframe |
dataframe with the most relevant output of SSrat, calculated for each rated respondent |
dataframe$schoolid |
school id as entered in the input dataframe |
dataframe$groupid |
group id as entered in the input dataframe |
dataframe$respid |
respondent id as entered in the input data frame |
dataframe$nrAss |
number of assessors who have given a valid rating |
dataframe$tr.S |
total rating Sympathy |
dataframe$tr.A |
total rating Antipathy |
dataframe$tr.P |
total rating Preference |
dataframe$tr.I |
total rating Impact |
dataframe$SS.xx |
Social Determination as attributed by SSrat, applying alpha = .xx. Defaults to SS.10, SS.05 and SS.01 |
Use calcgroup
for generating more
detailed information on social status determination.
Hans Landsheer
Coie, J. D., Dodge, K. A., & Coppotelli, H.(1982). Dimensions
and types of social status: A cross-age perspective. Developmental
Psychology, 18, 557-570.
Coie, J.D., & Dodge, K.A. (1983). Continuities
and changes in children's social status: A five-year longitudinal study.
Merril-Palmer Quarterly, 29, 261-282.
Newcomb, A. F., & Bukowski, W. M.
(1983). Social impact and social preference as determinants of children's
peer group status. Developmental Psychology, 19, 856-867.
Maassen, G. H.
and Landsheer, J. A. (1998). SSRAT: The processing of rating scales for the
determination of two-dimensional sociometric status. Behavior Research
Methods Instruments & Computers, 30(4), 674-679.
data(example5.rat) calcgroup (school=1, group=23, data=example5.rat, scalelength="3")$dataframe calcallgroups(example5.rat) #readmultiple groups data(example6.rat) calcallgroups(example6.rat) data(example7.rat) calcallgroups(example7.rat) # Wrong! calcgroup (school=1, group=1, dataframe=example7.rat, scalelength="7")$dataframe calcgroup (school=1, group=3, dataframe=example7.rat, scalelength="7")$dataframe calcgroup (school=2, group=1, dataframe=example7.rat, scalelength="7")$dataframe #use names data(example1a.rat) calcallgroups(example1a.rat)
data(example5.rat) calcgroup (school=1, group=23, data=example5.rat, scalelength="3")$dataframe calcallgroups(example5.rat) #readmultiple groups data(example6.rat) calcallgroups(example6.rat) data(example7.rat) calcallgroups(example7.rat) # Wrong! calcgroup (school=1, group=1, dataframe=example7.rat, scalelength="7")$dataframe calcgroup (school=1, group=3, dataframe=example7.rat, scalelength="7")$dataframe calcgroup (school=2, group=1, dataframe=example7.rat, scalelength="7")$dataframe #use names data(example1a.rat) calcallgroups(example1a.rat)
In a group, all group members are asked to rate all other group members on a
rating scale. This rating scale can have 3 (1..3), 5 (1..5), 7 (1..7) or 9
(1..9) rating points. The rating scale has a neutral mid point (respectively
2, 3, 4 and 5).
Application of SSrat::calcgroup calculates a
classification into five categories of sociometric status, which is labeled
as follows: (1) popular, (2) rejected, (3) negelected, (4) controversial and
(5) average.
calcgroup(schoolid = 1, groupid = 1, dataframe, scalelength = c(5, 3, 7, 9), alpha = c(0.1, 0.05, 0.01), NBcriteria = F, printresult = F)
calcgroup(schoolid = 1, groupid = 1, dataframe, scalelength = c(5, 3, 7, 9), alpha = c(0.1, 0.05, 0.01), NBcriteria = F, printresult = F)
schoolid |
The schoolnumber that identifies the school. Default = 1. |
groupid |
The groupnumber that identifies the group. Default = 1. |
dataframe |
The dataframe with the rating data. This dataframe should have columns schoolid, groupid, respid, and for n raters columns r01 to rn, with a maximum of r99. Function readratdatfixed can be used to create such a dataframe from a prepared text file. |
scalelength |
Either 3, 5, 7 or 9. Default = 5. |
alpha |
The significance levels to be applied to the probability distributions of the four total scores that have been derived from the ratings. By choosing an appropriate alpha, the user can fine tune the criterion for the status determination. A list of various alphas can be supplied. Default is the list (.10, .05, .01). |
NBcriteria |
A boolean. When TRUE, the classification criteria of
Newcomb & Bukowski (1983) will be applied, in stead of the SSrat criteria.
These criteria are applicable to rating scales of length 3. When this option
is selected with longer scales, the midscore is conversed to 2, alls cores
larger than the midscore are conversed to 3 and all scores lower than the
midscore are conversed to 1. When another recoding scheme of the scores is
preferred, the input ratings should be recoded to 1, 2 and 3 before the use
of this function (use |
printresult |
Boolean which identifies whether the calculated results should be shown. Default is False. |
It is assumed that the data are gathered on a single (2R+1)-point rating
scale. For a 7-point scale, R = 3. The scale midpoint must represent a
neutral judgment. The data are arranged in a matrix P, with rows belonging
to assessors and columns belonging to the assessed.Let P[i, k] denote the
rating given by assessor i to group member k.
First P* scores are
calculated by subtracting R+1 from the values of P. The Sympathy scores S
are calculated by replacing all negative scores of P* by zero. The Antipathy
score A are calculated by replacing all positive scores of P* by zero and
taking the absolute value. P* = S - A.The Preference score P are equal to
the ratings obtained. The Impact scores I are calculated by taking the
absolute values of P*. I = S + A.
In the next step, sum scores are
calculated over columns. Then the distributions of these sumscores are
calculated, using the principle of convolution. Lastly, the positions in the
distributions are calculated to identify persons with scores in the areas of
the lower and higher alpha percent. This allows us to translate the criteria
of Coie et al. (1983) into probability terms. A person k obtains the
following social determinations (E is expected value): Popular = sum(P[,k])
significantly high, sum(S[,k]) > E(sum(S[,k])) and sum(A[,k]) <
E(sum(A[,k])); Rejected = sum(P[,k]) significantly low, sum(S[,k]) <
E(sum(S[,k])) and sum(A[,k]) > E(sum(A[,k])); Neglected = sum(I[,k])
significantly low, sum(S[,k]) < E(sum(S[,k])) and sum(A[,k]) <
E(sum(A[,k])); Controversial = sum(I[,k]) significantly high, sum(S[,k]) >
E(sum(S[,k])) and sum(A[,k]) > E(sum(A[,k])); Average = remaining group
members.
When the criteria of Newcomb & Bukowski (1993) are applied, the most liked nominations LM are the ratings > R and the least liked nominations LL are the ratings < R, and the impact score SI = LM + LL. The criteria for a person k are: Popular = sum(LM[,k]) significantly high, sum(LL[,k]) < E(sum(LL[,k])); Rejected = sum(LL[,k]) significantly high, sum(LM[,k]) < E(sum(LM[,k])); Neglected = sum(SI[,k]) significantly low; Controversial = sum(LM[,k]) significantly high and sum(LL[,k] > E(sum(LL[,k])) or sum(LL[,k]) significantly high and sum(LM[,k] > E(sum(LM[,k])); Average = remaining group members.
dataframe |
dataframe with the most relevant results, as calculated for each respondent by SSrat |
dataframe$schoolid |
school id as entered |
dataframe$groupid |
group id as entered |
dataframe$respid |
respondent id as entered |
dataframe$nrAss |
number of assessors who have given a valid rating |
dataframe$tr.S |
total rating Sympathy |
dataframe$tr.A |
total rating Antipathy |
dataframe$tr.P |
total rating Preference |
dataframe$tr.I |
total rating Impact |
dataframe$SS.xx |
Social Determination as attributed by SSrat, applying alpha = .xx. Defaults to SS.10, SS.05 and SS.01 |
S |
matrix of Sympathy ratings |
A |
matrix of Antipathy ratings |
P |
matrix of Preferences |
I |
matrix of Impact scores |
intermediate$pls |
probability referring to left-sided testing of tr.S |
intermediate$prs |
probability referring to right-sided testing of tr.S |
intermediate$es |
expected value of tr.S |
intermediate$pla |
probability referring to left-sided testing of tr.A |
intermediate$pra |
probability referring to right-sided testing of tr.A |
intermediate$ea |
expected value of tr.A |
intermediate$plp |
probability referring to left-sided testing of tr.P |
intermediate$prp |
probability referring to right-sided testing of tr.P |
intermediate$ep |
expected value of tr.P |
intermediate$pli |
probability referring to left-sided testing of tr.I |
intermediate$pri |
probability referring to right-sided testing of tr.I |
intermediate$ei |
expected value of tr.I |
Hans Landsheer
Coie, J.D., & Dodge, K.A. (1983). Continuities and changes in
children's social status: A five-year longitudinal study. Merril-Palmer
Quarterly, 29, 261-282.
Newcomb, A. F., & Bukowski, W. M. (1983). Social
impact and social preference as determinants of children's peer group
status. Developmental Psychology, 19, 856-867.
Maassen, G. H. and
Landsheer, J. A. (1998). SSRAT: The processing of rating scales for the
determination of two-dimensional sociometric status. Behavior Research
Methods Instruments & Computers, 30(4), 674-679.
data(example5.rat) # calc SSRAT results fot this group out =calcgroup (school=1, group=23, data=example5.rat, scalelength="3") out$dataframe # calc Newcomb & Bukowski results for this group out =calcgroup (school=1, group=23, data=example5.rat, scalelength="3", NBcriteria=TRUE) out$dataframe # calc Newcomb & Bukowski results for example1 data(example1.rat) out =calcgroup (school=1, group=1, data=example1.rat, scalelength="7", NBcriteria=TRUE) out$dataframe # calc SSrat results for example1 out =calcgroup (school=1, group=1, data=example1.rat, scalelength="7") out$dataframe
data(example5.rat) # calc SSRAT results fot this group out =calcgroup (school=1, group=23, data=example5.rat, scalelength="3") out$dataframe # calc Newcomb & Bukowski results for this group out =calcgroup (school=1, group=23, data=example5.rat, scalelength="3", NBcriteria=TRUE) out$dataframe # calc Newcomb & Bukowski results for example1 data(example1.rat) out =calcgroup (school=1, group=1, data=example1.rat, scalelength="7", NBcriteria=TRUE) out$dataframe # calc SSrat results for example1 out =calcgroup (school=1, group=1, data=example1.rat, scalelength="7") out$dataframe
describeratdata shows the following features: Number of unique school, number of unique groups of raters/assessed, and for each group, the school to which the group belongs, the group identifier, the ratings that are actually used, the count of assessors, the count of assessed, the number of missing ratings, the bias in the ratings, the number of ratings less than the midrating, the number of ratings equal to the midrating, the number of ratings larger than the midrating. Function describeratdata is useful for a first check of the ratings./cr N.B. Unavailable values (NA) on the diagonal are not counted as mssing ratings.
describeratdata(dataframe)
describeratdata(dataframe)
dataframe |
The dataframe should have the following columns: schoolid
groupid respid, and for n raters the columns r01 .. rn, with a maximum of
r99. Function |
A data.frame with for each group:
schoolid |
The school identifier |
groupid |
The group identifier |
scores |
The scores that have been used by the raters |
assessors |
The number of assessors |
assessed |
The number of assessed |
missing |
The number of missing ratings, not counting the missings on the diagonal |
bias |
The bias in the ratings, defined as the mean of the ratings minus the midscore value (R) |
ltR |
The number of ratings, less than the midscore value (R) |
R |
The number of ratings, equal to the midscore value (R) |
gtR |
The number of ratings, greater than the midscore value (R) |
Hans Landsheer
data(example6.rat) describeratdata(example6.rat) data(example7.rat) describeratdata(example7.rat) data(example1a.rat) describeratdata(example1a.rat)
data(example6.rat) describeratdata(example6.rat) data(example7.rat) describeratdata(example7.rat) data(example1a.rat) describeratdata(example1a.rat)
Enter or edit rating data. Function enterratdata creates a dataframe in a
format that can be processed by SSrat functions calcgroup
and
calcallgroups
.
enterratdata(dataframe = NULL, resplabel = F)
enterratdata(dataframe = NULL, resplabel = F)
dataframe |
Ssrat conformant dataframe. If NULL a new dataframe is created (default). Otherwise, the dataframe is opened for editing. |
resplabel |
Boolean, default is FALSE. When TRUE, a column resplabel is added as the first column of the dataframe. If dataframe already has a column resplabel, this id preserved. |
The SSrat conformant dataframe has repondent identifiers and ratings
received. The respondent identifiers are schoolid, groupid, respid en
optionally respname. The ratings received are named r01, r02 .. rn
,
where n is the last rated, with a maximum of r99. Multiple groups can be
entered. It is not possible (or sensible) to add other variables.
A data.frame with columns:
resplabel |
An identification label of the rater (and of the assessed). Optional. |
schoolid |
Identification number of the secondary group level, most often a school. |
groupid |
Identification number of the first group level, most often a school class. |
respid |
Identification number of the rater (and of the assessed). |
r01..r0n |
Ratings received by respid = 1 .. respid = n, with a maximum ofr99. Respid's < 10 are padded with a zero. |
To allow for the combination of groups with different sizes in a
single file, it is important to enumerate the n respondents from 1 to n,
respectively use the columnnames r01 to rn for the received ratings. These
column names are padded with a zero (r01, r02 etc.) to allow for easy
ordening of these columns after a merge. Background data of each respondent
can be added to the output data.frame of calcgroup
or
calcallgroups
.
Hans Landsheer
calcgroup
calcallgroups
readratdatafixed
edit
# These examples require human intervention and are therefore placed in a # don't run section. They can only be excuted interactively. # create a new data frame with rating data ## Not run: df=enterratdata() # edit existing data frame ## Not run: df=enterratdata(df) # add respondent names to the dataframe ## Not run: df=enterratdata(df, resplabel=TRUE) #create a new data frame with rating data and respondent names ## Not run: df=enterratdata(resplabel=TRUE)
# These examples require human intervention and are therefore placed in a # don't run section. They can only be excuted interactively. # create a new data frame with rating data ## Not run: df=enterratdata() # edit existing data frame ## Not run: df=enterratdata(df) # add respondent names to the dataframe ## Not run: df=enterratdata(df, resplabel=TRUE) #create a new data frame with rating data and respondent names ## Not run: df=enterratdata(resplabel=TRUE)
The result of readratdatafixed("<example1.rat.txt>")
. A 7-point
rating scale has been used. Numbers of assessors and assessed are equal
(10). Each respondent is identified by a schoolid, a group id and a
respondent id. The rows contain the assessors, the columns contain the
assessed. When rater equals ratee (diagonal), the rating is NA.
A data frame with 10 observations of 9 ratings.
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing the names of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
readratdatafixed
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example6.rat
example7.rat
klas2.rat
data(example1.rat)
data(example1.rat)
Ratings with the names of the raters (and of the assessed).
The result of
readratdatafixed("<example1a.rat.txt>")
. A 7-point rating scale has
been used. Numbers of assessors and assessed are equal (10). Each respondent
is identified by a respname, schoolid, a group id and a respondent id. The
rows contain the assessors, the columns contain the assessed. When rater
equals assessed (diagonal), the rating is NA.
A data frame with 10 observations of 9 ratings.
a string vector with an additional identifier of the raters (and assessed).
a numeric vector, identifying the second group level.
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing the names of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
readratdatafixed
example1.rat
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example6.rat
example7.rat
klas2.rat
data(example1a.rat)
data(example1a.rat)
Number of assessors (rows) is smaller then the number of assessed
(columns).
The result of readratdatafixed("<example2.rat.txt>")
. A
7-point rating scale has been used. Each respondent is identified by a
schoolid, a group id and a respondent id. The rows contain the assessors,
the columns contain the assessed. When rater equals assessed (diagonal), the
rating is NA.
This dataframe has 10 rated persons, but only 7 raters.
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing an additional identifier of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
readratdatafixed
example1.rat
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example6.rat
example7.rat
klas2.rat
data(example2.rat)
data(example2.rat)
Number of assessors (rows) is larger then the number of assessed
(columns).
This data set has missing ratings. It is the result of
readratdatafixed("<example3.rat.txt>")
. A 7-point rating scale has
been used. Each respondent is identified by a schoolid, a group id and a
respondent id. The rows contain the assessors, the columns contain the
assessed. When rater equals ratee (diagonal), the rating is NA.
This dataframe has 7 rated persons, who are assessed by 10 raters.
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing an additional identifier of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
readratdatafixed
example1.rat
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example6.rat
example7.rat
klas2.rat
data(example3.rat)
data(example3.rat)
The result of readratdatafixed("<example4.rat.txt>")
. A 7-point
rating scale has been used. Numbers of assessors and assessed are equal
(10). Each respondent is identified by a schoolid, a group id and a
respondent id. The rows contain the assessors, the columns contain the
assessed. When rater equals ratee (diagonal), the rating is NA.
A data frame with 10 observations of 9 ratings; some of the ratings are missing.
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing an additional identifier of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
readratdatafixed
example1.rat
example1a.rat
example2.rat
example3.rat
example5.rat
example6.rat
example7.rat
klas2.rat
data(example4.rat)
data(example4.rat)
Newcomb and Bukowski rating scale with 3 points.
The result of
readratdatafixed("<example5.rat.txt>"). Numbers of assessors and assessed
are equal (10). Each respondent is identified by a schoolid, a group id and
a respondent id. The rows contain the assessors, the columns contain the
assessed. When rater equals assessed (diagonal), the rating is NA.
A data frame with 10 observations of 9 ratings.
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing an additional identifier of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
readratdatafixed
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example6.rat
example7.rat
klas2.rat
data(example5.rat)
data(example5.rat)
The combined data matrices of two groups, groups 10 and 20. Please note that
the missing ratings in group 10 are padded with NA's.
The result of
readratdatafixed("<example6.rat.txt>")
. A 7-point rating scale has
been used. Each respondent is identified by a schoolid, a group id and a
respondent id. The rows contain the assessors, the columns contain the
assessed. When rater equals assessed (diagonal), the rating is NA.
A data frame with 10 observations of 9 ratings.
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing an additional identifier of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
readratdatafixed
calcallgroups
calcgroup
example1.rat
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example7.rat
klas2.rat
data(example6.rat)
data(example6.rat)
The combined data matrices of three groups. Because the rating scale is 5
points for the groups (1, 1) and (2, 1), while a 7 points rating scale has
been used in group (1, 3), function calcallgroups cannot be used for further
processing. In stead, calcgroups must be used for each group seperately.
The result of readratdatafixed("<example7.rat.txt>"). Each respondent is
identified by a schoolid, a group id and a respondent id. The rows contain
the assessors, the columns contain the assessed. When rater equals assessed
(diagonal), the rating is NA.
A data frame with 10 observations of 9 ratings.
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing an additional identifier of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
To allow for the combination of groups with different
sizes in a single file, it is important to enumerate the n respondents from
1 to n, respectively use the columnnames r01 to rn for the received ratings.
These column names are padded with a zero (r01, r02 etc.) to allow for easy
ordening of these columns after a merge.
readratdatafixed
calcallgroups
calcgroup
example1.rat
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example6.rat
data(example7.rat)
data(example7.rat)
Shows the social status of each person and the persons who have contributed to that status
gplot.SSrat(calcedgroup, maintitle = c("Sympathy", "Antipathy", "Preference", "Impact"), SS.alpha = "SS.05", thresh = 0)
gplot.SSrat(calcedgroup, maintitle = c("Sympathy", "Antipathy", "Preference", "Impact"), SS.alpha = "SS.05", thresh = 0)
calcedgroup |
calcedgroup is the outcome of the function
|
maintitle |
The maintitle is either "Sympathy", "Antipathy"", "Preference"" or "Impact". This also determinates the selection of the correct table from calcedgroup.See calcgroup for more information. Default is "Sympathy". |
SS.alpha |
This can be any of the alpha's used for the calculation of status in the calcedgroups. Reasonable values are "SS.01" , "SS.05" or 0.10. Default is "SS.05". As a rule of thumb, alpha should be chosen so that the group of Popular respondents is about 15 column from the dataframe to use, and should be equal to that column name. |
thresh |
Number indicating the threshold for tie values. Only ties of value > thresh are displayed. By default, thresh = 0. This allows for the reduction of arrows (edges), which may make the plot more readable. |
Plots the Sociometric Status, as calculated by SSrat, of each individual in
a group. In the case of positive or negative ratings (Sympathy or
Antipathy), the arrows shows who has has provided these ratings. The left
legend shows the social status, identified by color. The right legend shows
the individuals, identified by number and optionally their names. See
calcgroup
for more information on the four SSrat data tables
and alpha.
A two-column matrix containing the vertex positions as x,y coordinates. See also gplot sna.
Hans Landsheer
Wasserman, S. and Faust, K. (1994) Social Network Analysis:
Methods and Applications. Cambridge: Cambridge University Press.
Maassen,
G. H. and Landsheer, J. A. (1998). SSRAT: The processing of rating scales
for the determination of two-dimensional sociometric status. Behavior
Research Methods Instruments & Computers, 30(4), 674-679.
data(klas2.rat) out =calcgroup (school=3, group=2, dataframe=klas2.rat, scalelength="3") out$dataframe gplot.SSrat(calcedgroup=out, maintitle="Sympathy", SS.alpha="SS.10") gplot.SSrat(out, "Antipathy", SS.alpha="SS.10") gplot.SSrat(out, "Preference", SS.alpha="SS.10") x=gplot.SSrat(out, "Impact", SS.alpha="SS.10") x
data(klas2.rat) out =calcgroup (school=3, group=2, dataframe=klas2.rat, scalelength="3") out$dataframe gplot.SSrat(calcedgroup=out, maintitle="Sympathy", SS.alpha="SS.10") gplot.SSrat(out, "Antipathy", SS.alpha="SS.10") gplot.SSrat(out, "Preference", SS.alpha="SS.10") x=gplot.SSrat(out, "Impact", SS.alpha="SS.10") x
Ratings with the names of the raters (and of the assessed as the members of
the group assess each other). Furthermore, some of these ratings are missing
(NA).
The result of readratdatafixed("<klas2.rat.txt>")
. A 3-point
rating scale has been used. Numbers of assessors and assessed are equal
(11). Each respondent is identified by a respname, schoolid, a group id and
a respondent id. The rows contain the assessors, the columns contain the
assessed. When rater equals assessed (diagonal), the rating is NA.
A data frame with 10 observations of 9 ratings.
a string vector with an optional identifier of the raters (and assessed).
a numeric vector, identifying the second group level
a numeric vector, identifying the first group level.
a numeric vector, identifying the individual.
ratings received by respondent 1.
ratings received by respondent 2.
ratings received by respondent 3.
ratings received by respondent 4.
ratings received by respondent 5.
ratings received by respondent 6.
ratings received by respondent 7.
ratings received by respondent 8.
ratings received by respondent 9.
ratings received by respondent 10.
ratings received by respondent 11.
Rating data can be entered directly into a SSrat compliant dataframe,
using edit
. Colums needed are: "schoolid", "groupid",
"respid", and for <n> raters "r01", "r02".."r<n>". Optionally, a column
named "resplabel" can be entered, containing an extra identifier of the
raters/assessed. The raters (assessors) are in rows and assessed in columns.
For example:
mydata=data.frame(schoolid=numeric(0), groupid=numeric(0),
respid=numeric(0),
r01=numeric(0), r02=numeric(0), r03=numeric(0));
mydata=edit(mydata)
To allow for the combination of groups with different
sizes in a single file, it is important to enumerate the n respondents from
1 to n, respectively use the columnnames r01 to rn for the received ratings.
These column names are padded with a zero (r01, r02 etc.) to allow for easy
ordening of these columns after a merge.
readratdatafixed
calcallgroups
calcgroup
example1.rat
example1a.rat
example2.rat
example3.rat
example4.rat
example5.rat
example6.rat
example7.rat
data(klas2.rat)
data(klas2.rat)
Given the ratings of a group in a specified textfile, readratdatafixed
produces a dataframe that can be processed further with SSrat, using
function calcgroup.
readratdatafixed(filename, pnames = c(0, 0), pschoolid = c(1, 2), pgroupid = c(3, 4), prespid = c(5, 6), pratings = c(8, 17), rowsEQassessors = T)
readratdatafixed(filename, pnames = c(0, 0), pschoolid = c(1, 2), pgroupid = c(3, 4), prespid = c(5, 6), pratings = c(8, 17), rowsEQassessors = T)
filename |
the filename of the textfile to be processed |
pnames |
optional: the fixed postion of the names of the raters/assessed. Default: c(0, 0), not available. |
pschoolid |
the fixed position of a number that identifies the school. |
pgroupid |
the fixed position of a number that identifies the group. |
prespid |
the fixed position of a number that identifies the rater. |
pratings |
the fixed position of the ratings, where each rating is a number of the set 1, 2, 3, 1..5, 1..7 or 1..9. When there are 10 raters, the positions covers 10 single digit numbers. |
rowsEQassessors |
A boolean that identifies whether the raters (assessors) are in rows or not. Default is TRUE, the assessors are in rows. |
Example text file "example1.rat.txt" has the following format:
010101
.717211723
010102 7 72121714
010103 76 7231711
010104 771 141756
010105 7672 51171
010106 77172 1123
010107 767216 711
010108
7717211 45
010109 76721711 6
010110 771722112
schoolid has position c(1,2), groupid has position c(3,4), respid has position c(5,6), and rating has position c(8,17)
The ratings form often a square (i.e., number of raters is equal to the
number of assessed), but the number of raters can be larger or smaller than
the number of assessed. See example2.rat.txt for number of raters larger
than the number of ratees. See example3.rat.txt for number of raters smaller
than the number of ratees.
Ratings can be MISSING, identified by a zero
or a non-numeric character. In example1.rat.txt the missing value indicator
is a space. File klas2.rat.txt provides another example.
Raters can be in
columns. Set rowsEQassessors = FALSE. See example4.rat.txt.
Multiple
groups can be processed by radratdatafixed in a single run. It is
recommended that the groups are divided by an empty line. The positions of
the fields need to be the same for each group. File example6.rat.txt.
example7.rat.txt and example8.rat.txt provide examples. A string that
identifies each respondent can be entered optionally. File example1a.rat.txt
and klas2.rat.txt provide examples.
The output is a dataframe that can be processed further by SSrat.
File example1.rat.txt produces a dataframme with the following columns:
schoolid groupid respid r01 r02 r03 r04 r05 r06 r07 r08 r09 r10
and NA
where missing values are detected.
N.B. Wrong identification of the various field positions easily leads to a dataframe with unexpected missing values (NA's).
Rating data can be entered directly into a SSrat compliant dataframe, using Edit. Colums needed are: "schoolid", "groupid", "respid", and for <n> raters "r01", "r02".."r<n>", with a maximum of r99. Optionally, a column named "resplables" can be entered, containing an extra string identifier of the raters/assessed. The raters (assessors) are in rows and assessed in columns.
Hans Landsheer
Maassen, G. H. and Landsheer, J. A. (1998). SSRAT: The processing of rating scales for the determination of two-dimensional sociometric status. Behavior Research Methods Instruments & Computers, 30(4), 674-679.
#example file names filenames = c("example1.rat.txt","example2.rat.txt","example3.rat.txt", "example4.rat.txt","example5.rat.txt","example6.rat.txt", "example7.rat.txt","example1a.rat.txt","klas2.rat.txt") filenames=paste(path.package("SSrat"),"/extdata/",filenames, sep="") # show raw text file cat( readLines( filenames[1] ) , sep = "\n" ) #single group, no names, standard positions (example1.rat = readratdatafixed(filenames[1])) (example2.rat = readratdatafixed(filenames[2])) # raters < assessed (example3.rat = readratdatafixed(filenames[3])) # raters > assessed (example4.rat = readratdatafixed(filenames[4], rowsEQassessors = FALSE)) # raters in columns (example5.rat = readratdatafixed(filenames[5])) #multiple groups (example6.rat = readratdatafixed(filenames[6])) (example7.rat = readratdatafixed(paste(filenames[7]))) #single groups, with names: define positions (example1a.rat = readratdatafixed(filenames[8], pnames=c(1,10), pschoolid=c(11,12), pgroupid=c(13,14), prespid=c(15,16), pratings=c(18,27))) (klas2.rat = readratdatafixed(filenames[9], pnames=c(10,20), pschoolid=c(1,2), pgroupid=c(3,4), prespid=c(5,6), pratings=c(21,32)))
#example file names filenames = c("example1.rat.txt","example2.rat.txt","example3.rat.txt", "example4.rat.txt","example5.rat.txt","example6.rat.txt", "example7.rat.txt","example1a.rat.txt","klas2.rat.txt") filenames=paste(path.package("SSrat"),"/extdata/",filenames, sep="") # show raw text file cat( readLines( filenames[1] ) , sep = "\n" ) #single group, no names, standard positions (example1.rat = readratdatafixed(filenames[1])) (example2.rat = readratdatafixed(filenames[2])) # raters < assessed (example3.rat = readratdatafixed(filenames[3])) # raters > assessed (example4.rat = readratdatafixed(filenames[4], rowsEQassessors = FALSE)) # raters in columns (example5.rat = readratdatafixed(filenames[5])) #multiple groups (example6.rat = readratdatafixed(filenames[6])) (example7.rat = readratdatafixed(paste(filenames[7]))) #single groups, with names: define positions (example1a.rat = readratdatafixed(filenames[8], pnames=c(1,10), pschoolid=c(11,12), pgroupid=c(13,14), prespid=c(15,16), pratings=c(18,27))) (klas2.rat = readratdatafixed(filenames[9], pnames=c(10,20), pschoolid=c(1,2), pgroupid=c(3,4), prespid=c(5,6), pratings=c(21,32)))
Rating data of 1996. Measurements of these Dutch primary school children were taken three times, in 1996, 1997 and 1998. In 1996, the sample consisted of 193 students (91 boys, 96 girls, six gender unknown); 189 students were involved in 1997 (90 boys, 95 girls, 4 gender unknown); and in 1998, 189 students participated (91 boys, 98 girls). Average age in 1998 was 11.3 years, with ages ranging from 11 to 13 years. The participants were asked to rate all their classmates on a seven-point scale: dislike very much, dislike much, dislike, ordinary, like, like much, and like very much.
A data frame with 193 observations of 32 variables, with (a maximum of) 29
ratings (r01..r29). schoolid
a numeric vector, identifying the
second group level; groupid
a numeric vector, identifying the first
group level; respid
a numeric vector, identifying the individual;
r01:r29
ratings received by respondent 1..29.
Maassen, G.H., Van Boxtel, H.W., & Goossens, F.A. (2005). Reliabilty of nomination and two-dimensional rating scale methods for sociometric status determination. Journal of Applied Developmental Psychology, 26, 51-68.
data(Ss96.rat)
data(Ss96.rat)
Rating data of 1997. Measurements of these Dutch primary school children were taken three times, in 1996, 1997 and 1998. In 1996, the sample consisted of 193 students (91 boys, 96 girls, six gender unknown); 189 students were involved in 1997 (90 boys, 95 girls, 4 gender unknown); and in 1998, 189 students participated (91 boys, 98 girls). Average age in 1998 was 11.3 years, with ages ranging from 11 to 13 years. The participants were asked to rate all their classmates on a seven-point scale: dislike very much, dislike much, dislike, ordinary, like, like much, and like very much.
A data frame with 189 observations of 32 variables, (with a maximum of 29)
ratings (r01..r29). schoolid
a numeric vector, identifying the
second group level; groupid
a numeric vector, identifying the first
group level; respid
a numeric vector, identifying the individual;
r01:r29
ratings received by respondent 1..29.
obtained ~~ Maassen, G.H., Van Boxtel, H.W., & Goossens, F.A. (2005). Reliabilty of nomination and two-dimensional rating scale methods for sociometric status determination. Journal of Applied Developmental Psychology, 26, 51-68.
data(Ss97.rat)
data(Ss97.rat)
Rating data of 1998. Measurements of these Dutch primary school children were taken three times, in 1996, 1997 and 1998. In 1996, the sample consisted of 193 students (91 boys, 96 girls, six gender unknown); 189 students were involved in 1997 (90 boys, 95 girls, 4 gender unknown); and in 1998, 189 students participated (91 boys, 98 girls). Average age in 1998 was 11.3 years, with ages ranging from 11 to 13 years. The participants were asked to rate all their classmates on a seven-point scale: dislike very much, dislike much, dislike, ordinary, like, like much, and like very much.
A data frame with 189 observations of 33 variables, with (a maximum of) 30
ratings (r01..r30). schoolid
a numeric vector, identifying the
second group level; groupid
a numeric vector, identifying the first
group level; respid
a numeric vector, identifying the individual;
r01:r30
ratings received by respondent 1..30.
obtained ~~ Maassen, G.H., Van Boxtel, H.W., & Goossens, F.A. (2005). Reliabilty of nomination and two-dimensional rating scale methods for sociometric status determination. Journal of Applied Developmental Psychology, 26, 51-68.
data(Ss98.rat)
data(Ss98.rat)
SSrat is a collection of functions for two-dimensional sociometric status determination with rating scales. The theory underlying the program is described in Maassen, Akkermans and Van der Linden (1996). A discussion of the advantages of using ratings for sociometric status classification is given by Maassen, Van der Linden and Akkermans (1997). The basics of the algorithms are described in Maassen and Landsheer (1998). For each person assessed, SSRAT computes probability distributions of the total scores for ‘sympathy’ (S), ‘antipathy’ (A), ‘social preference’ (P) and ‘social impact’ (I), and applies criteria for sociometric status categorization as described in Maassen et al. (1996).
Package: | SSrat |
Type: | Package |
Version: | 1.0 |
Date: | 2014-09-09 |
License: | GPL-2 |
Gerard Maassen and Hans Landsheer
Maintainer: Hans Landsheer
Maassen, G.H., Akkermans, W. and Van der Linden, J.L. (1996).
Two-dimensional Sociometric Status Determination with Rating Scales; a
Probability and a Standard Score Method. Small Group Research, 27, 56-78.
Maassen, G. H., Linden, J. L. V. D., & Akkermans, W. (1997). Nominations,
Ratings, and the Dimensions of Sociometric Status. International Journal of
Behavioral Development, 21(1), 179-200. doi:10.1080/016502597385045
Maassen, G. H., & Landsheer, J. A. (1998). SSRAT: The processing of rating
scales for the determination of two-dimensional sociometric status. Behavior
Research Methods Instruments & Computers, 30(4), 674-679.
For plotting see also package sna
Also readratdatafixed
uses packages plyr