[R] How to store and manipulate survey data like this?
Siraaj Khandkar
siraaj at khandkar.net
Tue Aug 13 18:41:58 CEST 2013
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>
More information about the R-help
mailing list