[R] How to store and manipulate survey data like this?

Walter Anderson wandrson01 at gmail.com
Wed Aug 14 00:26:43 CEST 2013


On 08/13/2013 11:41 AM, Siraaj Khandkar wrote:
> 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>
>
>
>
>
Thank you!



More information about the R-help mailing list