[rkward-devel] correlation plugin [was: another mac issue]

meik michalke Meik.Michalke at uni-duesseldorf.de
Thu Dec 22 15:33:35 UTC 2011


hi,

Am Donnerstag, 22. Dezember 2011 10:53:18 schrieb Thomas Friedrichsmeier:
> well, true. But on the other hand, for that reason, polyserial is not
> really suitable for creating a classic correlation matrix at all.

right, it's more like a continuous x categorial matrix of coefficients.

> Perhaps it would make sense to split up the plugin after all?

that was actually my first idea, but then i thought it's perhaps a bit 
confusing to find what you want if there's still a "correlation matrix" plugin 
(as long as it's not labelled "(except polyserial)", but that would be odd 
;-)).

then, if we were to split things, i think it would be much clearer to offer 
product-moment vs. ranks, but that wouldn't change these dialog issues at all.

> If polyserial was moved to a separate plugin, it would indeed make a lot of
> sense to ask for ranked and numeric data, separately, thus avoiding the
> "is.numeric()" hack(*). For all other coefficients, including polychoric, a
> single variable slot should be enough, AFAICS.

i'd simply keep the second varslot invisible as long as polyserial is not 
checked.

> (*) In fact, that hack, as well as any other logic based on R data types is
> always likely to cause some problems, as I think it is fairly common to
> store ranked / ordinal data in a numeric vector. That may make a purist
> shudder, but I guess we can expect users with an interest in rank
> correlations to be aware of scale type, regardless of the R data types
> they use.

i agree, that's what i meant, the used functions actually allow numeric 
variables for ordinal categories. so is.numeric() just poses as a weak 
heuristic check. in the current plugin, an alternative could be to check the 
number of levels (after as.factor()) and consider only variables that remain 
below a sane threshold. that number could be made configurable in a spinbox. 
how about that?

> I must admit, I find empty else clauses a bit unusual. I think I can see
> your idea.

well, i cannot take credit for that, i got it from some "how to write good R 
code" tutorial, and since then simply got used to it (i actually begin each if 
clause with "if() {} else {}" and then fill in the gaps).

but if you don't agree with it, i'll try to keep it out of code for the base 
distribution. i think there's even an option to toggle it in rkwarddev; if 
there isn't, i'll add it (i know i had it in mind).

> But since "if" without "else" is quite common both in RKWard
> and elsewhere, I'm rather sceptical that it will help to reduce confusion
> overall. In the worst case, it might feel deceptively reassuring to others
> suffering from the same misunderstanding.

well, how about a joint empirical study on it? ;-)


viele grüße :: m.eik

-- 
  dipl. psych. meik michalke
  abt. f"ur diagnostik und differentielle psychologie
  institut f"ur experimentelle psychologie
  heinrich-heine-universit"at d"usseldorf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/rkward-devel/attachments/20111222/653ef459/attachment.sig>


More information about the Rkward-devel mailing list