[R] Basic question: Reading in multiple choice question responses to a single column in data frame

Damion Dooley damion at learningpoint.ca
Thu Aug 20 04:49:04 CEST 2009


Hi, Magnus,

I discovered that

	multis = strsplit(as.character(d$b),",")

Works in the example you gave.  Thanks very much, looks like that's the way
I'll go for now.  P.s. for those others who may want, my selected column was
plugged in as
	
	myData=read.delim(myDataFile etc. etc....);
	myColumn = myData[[myQuestion]]; #myQuestion is name of column
	d = data.frame(a=1:length(myColumn),b=myColumn);
	multis = strsplit(as.character(d$b),",");
	etc. as per Magnus's code.

And thank you Frank for pointing me to mChoice, which will require further
study on my part.

Regards,

Damion

Damion Dooley  .   LearningPoint.ca  Website Technology   .   604 877 0304


-----Original Message-----
From: Magnus Torfason [mailto:zulutime.net at gmail.com] 
Sent: August 19, 2009 12:33 PM
To: Damion Dooley
Cc: r-help at r-project.org
Subject: Re: [R] Basic question: Reading in multiple choice question
responses to a single column in data frame

Are you looking for something like this?

 > d      = data.frame(a=1:5,b=c("1","2,3","2","3,4","1"))
 > d
   a   b
1 1   1
2 2 2,3
3 3   2
4 4 3,4
5 5   1
 > multis = strsplit(d$b,",")
 > counts = sapply(strsplit(d$b,","),length )  
> d2 = data.frame( a=rep(d$a,counts), b=unlist(multis) )  
> d2
   a b
1 1 1
2 2 2
3 2 3
4 3 2
5 4 3
6 4 4
7 5 1

Best,
Magnus


On 8/19/2009 3:12 PM, Damion Dooley wrote:
> I'm using read.delim to successfully read in tab delimited data, but 
> some columns' values are comma seperated, reflecting the fact that 
> user chose a few answers on a multi-select question.  I understand 
> that each answer is its own category and so could be represented as a 
> seperate column in the data set, but I'd like the option of reading in 
> the data column, and converting it to a vector that has all row values 
> (comma seperated or not) each have their own vector entry, so that the 
> "table(columnData)" function does counts correctly.
>  ...




More information about the R-help mailing list