struggling with pairlists
mauede at alice.it wrote:
I would like to create a vector of pairlist (flag, binary_value) like: (variable ="TrendOff", value = 0) (variable ="MOdwt", value = 1) (variable ? "ZeroPadding", value =1) ................................................ I tried the following syntax but the emcompassing list (that I called "flags") is not made up of pairlists. Instead it is made up of two apparently disjoint lists:
flags_val <- c( 0,1,1,1,4,1,1,1,4,1,1,1,4,1,1,1,4,1,1)
flags_nam <- c("TrendOff","MOdwt","ZeroPadding",
+ "Step1HSOff","Step1NumHSOff","Step1NumHSOff","Step1ExtOff", + "Step2HSOff","Step2NumHSOff","Step2NumHSOff","Step2ExtOff", + "Step3HSOff","Step3NumHSOff","Step3NumHSOff","Step3ExtOff", + "Step4HSOff","Step4NumHSOff","Step4NumHSOff","Step4ExtOff" )
flags_nam
[1] "TrendOff" "MOdwt" "ZeroPadding" "Step1HSOff" "Step1NumHSOff" "Step1NumHSOff" [7] "Step1ExtOff" "Step2HSOff" "Step2NumHSOff" "Step2NumHSOff" "Step2ExtOff" "Step3HSOff" [13] "Step3NumHSOff" "Step3NumHSOff" "Step3ExtOff" "Step4HSOff" "Step4NumHSOff" "Step4NumHSOff" [19] "Step4ExtOff"
flags <- pairlist (data = flags_val, variable = flags_nam)
flags
$data [1] 0 1 1 1 4 1 1 1 4 1 1 1 4 1 1 1 4 1 1 $variable [1] "TrendOff" "MOdwt" "ZeroPadding" "Step1HSOff" "Step1NumHSOff" "Step1NumHSOff" [7] "Step1ExtOff" "Step2HSOff" "Step2NumHSOff" "Step2NumHSOff" "Step2ExtOff" "Step3HSOff" [13] "Step3NumHSOff" "Step3NumHSOff" "Step3ExtOff" "Step4HSOff" "Step4NumHSOff" "Step4NumHSOff" [19] "Step4ExtOff" Please, can someone teach me how to create a vector of pairlists ? I could find no illustrating on-line example. Thank you very much.
not sure if you need pairlists; as far as i understand, you need a list
of two-element tuples where the elements in each tuple are of difefernt
types (character and numeric).
once you have the two original vectors, there are a number of
approaches; e.g., create a list of lists:
# dummy data
variables = letters[1:5]
values = 1:5
output = mapply(
function(variable, value)
list(variable=variable, value=value),
variables, values, SIMPLIFY=FALSE)
# a list of lists, where each sublist contains a variable
output$a
# list of "a" and 1
output$a$variable
# "a"
output[[1]]$value
# 1
(note the fancy 'SIMPLIFY').
but you'd probably find it convenient to use a data frame:
# dummy data
variables = letters[1:5]
values = 1:5
output = data.frame(variable=variables, value=values,
stringsAsFactors=FALSE)
# a data frame with variables and values in separate columns
output$variables
# "a" "b" "c" "d" "e"
output[1,]
# one-row data frame with "a" and 1
output[1,]$variable
# "a"
vQ