Methods for creating "surveydata" objects, testing for class, and coercion from other objects.
as.surveydata(x, sep = "_", exclude = "other",
ptn = pattern(x),
defaultPtn = list(sep = sep, exclude = exclude),
renameVarlabels = FALSE)
Object to coerce to surveydata
Separator between question and subquestion names
Excludes from pattern search
The default for ptn, if it doesn't exist in the object that is being coerced.
If TRUE, turns variable.labels
attribute into a named vector, using names(x)
as
names.
# NOT RUN {
# Create surveydata object
sdat <- data.frame(
id = 1:4,
Q1 = c("Yes", "No", "Yes", "Yes"),
Q4_1 = c(1, 2, 1, 2),
Q4_2 = c(3, 4, 4, 3),
Q4_3 = c(5, 5, 6, 6),
Q10 = factor(c("Male", "Female", "Female", "Male")),
crossbreak = c("A", "A", "B", "B"),
weight = c(0.9, 1.1, 0.8, 1.2)
)
varlabels(sdat) <- c(
"RespID",
"Question 1",
"Question 4: red", "Question 4: green", "Question 4: blue",
"Question 10",
"crossbreak",
"weight"
)
sv <- as.surveydata(sdat, renameVarlabels=TRUE)
# Extract specific questions
sv[, "Q1"]
sv[, "Q4"]
# Query attributes
varlabels(sv)
pattern(sv)
# Find unique questions
questions(sv)
which.q(sv, "Q1")
which.q(sv, "Q4")
# Find question text
qText(sv, "Q1")
qText(sv, "Q4")
qTextCommon(sv, "Q4")
qTextUnique(sv, "Q4")
# Basic operations on a surveydata object, illustrated with the example dataset membersurvey
class(membersurvey)
questions(membersurvey)
which.q(membersurvey, "Q1")
which.q(membersurvey, "Q3")
which.q(membersurvey, c("Q1", "Q3"))
qText(membersurvey, "Q3")
qTextUnique(membersurvey, "Q3")
qTextCommon(membersurvey, "Q3")
# Extracting columns from a surveydata object
head(membersurvey[, "Q1"])
head(membersurvey["Q1"])
head(membersurvey[, "Q3"])
head(membersurvey[, c("Q1", "Q3")])
# Note that the result is always a surveydata object, even if only one column is extracted
head(membersurvey[, "id"])
str(membersurvey[, "id"])
# }
Run the code above in your browser using DataLab