[R] Frequencies from a matrix - spider from frequencies
Dieter Menne
dieter.menne at menne-biomed.de
Mon Mar 15 09:25:46 CET 2010
Uwe Dippel-2 wrote:
>
> Here comes my 'problem', over which I have sweated for the last 2 hours:
> My data are of a matrix 10x31, Likert Scale (1-5). 10 questions, 31
> respondents. Now, I want to display the frequencies per question. I have
> not found any better (any more simple) than
> for (in in 1.10) print (table(learn[,i]))
>
Dennis has shown one way to do it. I personally prefer to arrange the data
in the "long" format shown below from the beginning, because it is much more
flexible when I want to derive summaries and plot the data:
nsubj = 5
nquest= 4
d = matrix(as.integer(runif(nsubj*nquest,1,6)),nrow=nquest)
colnames(d) = paste("subj",1:nsubj,sep="")
rownames(d) = paste("quest",1:nquest,sep="")
# These data are in the wide format
# Convert data to the "long" format. It is much more flexible,
# for example when you have missing data, and is the format of choice
# when data are stored in a database.
#
dframe = data.frame(
quest = rep(rownames(d),nsubj),
subj = rep(colnames(d), nquest),
resp = as.vector(d)
)
dframe
# Now we have the data in the long format, and the world is our limit
# Give it a first try with xtabs
xtabs(resp~quest+subj,data=dframe)
# oops, not that, that is the original
# Try ftable: looks good
ftable(resp~quest,data=dframe)
For the spider see ?star or
http://addictedtor.free.fr/graphiques/RGraphGallery.php?graph=63
Dieter
--
View this message in context: http://n4.nabble.com/Frequencies-from-a-matrix-spider-from-frequencies-tp1593012p1593062.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list