On 08/13/2013 12:17 PM, Walter Anderson wrote:
I have to process a set of survey data with questions that are formatted
like this;

1) Pick your top three breeds (pick 3)
  1  Rottweiler
  2  Pit Bull
  3  German Shepard
  4  Poodle
  5  Border Collie
  6  Dalmation
  7  Mixed Breed

and the answers are formatted like this:

Respondent, Question1
1, "1,4,7"
2, "2,7,5"
3, "6,3,5"
4, ""
...

Any suggestions on how to preprocess the file to be able to do things
like frequency analysis for breeds?


Here's how I would get started:


> survey <- read.csv("survey.csv", as.is=TRUE)
> survey
  Respondent Question1
1          1     1,4,7
2          2     2,7,5
3          3     6,3,5
4          4
>
> TipleOrNAs <- function(x) {if (length(x) == 3) x else c(NA, NA, NA)}
> options <- lapply(strsplit(survey$Question1, ","), TripleOrNAs)
> options <- matrix(unlist(options), ncol=3, byrow=TRUE)
> survey2 <- cbind(survey, options)
> names(survey2) <- c(names(survey), paste("Q1.Opt", 1:3, sep="."))
> survey2
  Respondent Question1 Q1.Opt.1 Q1.Opt.2 Q1.Opt.3
1          1     1,4,7        1        4        7
2          2     2,7,5        2        7        5
3          3     6,3,5        6        3        5
4          4               <NA>     <NA>     <NA>

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to