Re: [Rd] NY Times article

2009-01-10 Thread Jb

Hi all,
One relatively easy solution is to include R and all relevant versions  
of packages used in (a) a reproduction archive and/or (b) packaged  
inside a virtual machine. With storage space cheap and sources of both  
R and packages available (and easy free crossplatform virtual machine  
solutions and Linux) one can distribute not only ones own code and  
data but also all that was required to do the analyses down to the OS.


So far in our own work we've just included relevant package versions  
but we will probably start include R as well for next projects.


Hope this brainstorm helps (and credit to Ben Hansen and Mark  
Fredrickson for these ideas).


Jake

Jake Bowers
http://jakebowers.org

On Jan 10, 2009, at 1:19 PM, "Nicholas Lewin-Koh"   
wrote:



Hi,
Unfortunately one of the the cornerstones of the validation paradigm
in the clinical world (as I understand it) is that
consistency/repeatability,
documentation (of the programs consistency and maintenance) and
adherence to regulatory
requirements take supremacy even ironically over correctness. So you
still
get ridiculous requirements from regulatory bodies like type III  
sums of

squares, Last observation carried forward, etc. These edifices are
very hard to change, I know of people who have worked their whole
careers just to get the FDA to allow other treatment of missing data.

So what does this have to do with R? This comes down to the point
you made below about the R development cycle incorporating bug fixes
into new releases, and not supporting old versions. I think this has
been rehashed many times, and is not likely to change. So how to
move R into the clinic? From a practical perspective all the
development and interoperability features of R are very nice,
but how to maintain things in a way that if the underlying
R platform changes the tool or method does not, and furthermore
how to manage this in a cost effective way so that it can't
be argued that it is cheaper to pay for SAS???

These are not necessarily questions that R core has to answer,
as the burden of proof of validation is really in the hands of the
company/organization doing the submission. We just like to pretend  
that
the large price we pay for our SAS support means we can shift  
liability

:)

Rambling again,
Nicholas


On Fri, 09 Jan 2009 17:07:31 -0600, "Kevin R. Coombes"
 said:

Hi Nicholas,

You raise a very good point. As an R user (who develops a couple of
packages for our own local use), I sometimes find myself cringing in
anticipation of a new R (or BioConductor) release. In my perception
(which is almost certainly exaggerated, but that's why I emphasize  
that

it is only an opinion), clever theoretical arguments in favor of
structural changes have a tendency to outweigh practical  
considerations

of backwards compatibility.

One of my own interests is in "reproducible research", and I've been
pushing hard here at M.D. Anderson to get people to use Sweave to
enhance the reproducibility of their own analyses. But, more often  
than
I would like, I find that reports written in Sweave do not survive  
the

transition from one version of R to the next, because either the core
implementation or one of the packages they depend on has changed in  
some

small but meaningful way.

For our own packages, we have been adding extensive regression  
testing

to ensure that the same numbers come out of various computations, in
order to see the effects of either the changes that we make or the
changes in the packages we depend on.  But doing this in a nontrivial
way with real data leads to test suites that take a long time to run,
and so cannot be incorporated in the nightly builds used by CRAN.

We also encourage our analysts to include a "sessionInfo()" command  
in
an appendix to each report so we are certain to document what  
versions

of packages were used.

I suspect that the sort of validation you want will have to rely on  
an
extensive regression suite test to make certain that the things you  
need
remain stable from one release to another. That, and you'll have to  
be
slow about upgrading (which may mean foregoing support from the  
mailing

lists, where a common refrain in response to bug reports is that "you
aren't using the latest and greatest version", without an  
appreciation

of the fact that there can be good reasons for not changing something
that you know works).

Best,
   Kevin

Nicholas Lewin-Koh wrote:

Hi,
Kudos, nice exposure, but to make this more appropriate to R-devel I
would just
like to make a small comment about the point made by the SAS  
executive

about getting
on an airplane yada yada ...

1) It would seem to me that R has certification documents
2) anyone designing airplanes, analyzing clinical trials, etc. had
  better be worried about a lot more than whether their software is
  proprietary.

So from that point of view it would seem that R has made great  
strides

over
the last 5 years especially in establishing a role for op

[Rd] double-quote tab crashes R (PR#9058)

2006-07-04 Thread jb
Hi,

This seems to crash my version of R:
"

where I type a double quote, and then hit the  key.
I was playing with strsplit, and wanted to give it a vector of 
characters including newline, tab, space, and so on.

I've included the trace info from my macBook Pro (intel macintosh).


Date/Time:  2006-07-04 01:07:33.277 -0700
OS Version: 10.4.7 (Build 8J2135a)
Report Version: 4

Command: R
Path:/Applications/R.app/Contents/MacOS/R
Parent:  WindowServer [90]

Version: 1.16 (3198)

PID:1698
Thread: 0

Exception:  EXC_BREAKPOINT (0x0006)
Code[0]:0x0002
Code[1]:0x


Thread 0 Crashed:
0   com.apple.Foundation 0x9275c2d3 _NSRaiseError + 227
1   com.apple.Foundation 0x92782fd7 +[NSException raise:format:] 
+ 57
2   com.apple.Foundation 0x9272c08b -[NSString 
substringFromIndex:] + 196
3   org.R-project.R  0x000331a4 +[FileCompletion 
completeAll:cutPrefix:] + 684 (crt.c:305)
4   org.R-project.R  0x00011745 -[RController 
textView:completions:forPartialWordRange:indexOfSelectedItem:] + 586 
(crt.c:305)
5   com.apple.AppKit 0x93808d15 
-[NSTextView(NSKeyBindingCommands) 
completionsForPartialWordRange:indexOfSelectedItem:] + 1002
6   com.apple.AppKit 0x93808202 
-[NSTextView(NSKeyBindingCommands) complete:] + 317
7   org.R-project.R  0x00011f8f -[RController 
textView:doCommandBySelector:] + 1344 (crt.c:305)
8   com.apple.AppKit 0x9346e1bf -[NSTextView 
doCommandBySelector:] + 182
9   com.apple.AppKit 0x93463965 
-[NSKeyBindingManager(NSKeyBindingManager_MultiClients) 
interpretEventAsCommand:forClient:] + 1932
10  com.apple.AppKit 0x93461ed1 -[NSTSMInputContext 
interpretKeyEvents:] + 1157
11  com.apple.AppKit 0x93461276 -[NSView 
interpretKeyEvents:] + 65
12  com.apple.AppKit 0x93461164 -[NSTextView keyDown:] + 1061
13  org.R-project.R  0x0001c2e4 -[RTextView keyDown:] + 150 
(crt.c:305)
14  com.apple.AppKit 0x93460ce9 -[NSWindow sendEvent:] + 7377
15  com.apple.AppKit 0x93452524 -[NSApplication sendEvent:] 
+ 5023
16  org.R-project.R  0xdfbe -[RController 
doProcessEvents:] + 278 (crt.c:305)
17  org.R-project.R  0xb5be -[RController 
handleReadConsole:] + 84 (crt.c:305)
18  org.R-project.R  0x0002f096 Re_ReadConsole + 423 (crt.c:305)
19  org.R-project.R  0x000355bb run_REngineRmainloop + 516 
(crt.c:305)
20  org.R-project.R  0x0002d9f7 -[REngine runREPL] + 49 
(crt.c:305)
21  org.R-project.R  0x0001f66d main + 616 (crt.c:305)
22  org.R-project.R  0x200e _start + 228 (crt.c:272)
23  org.R-project.R  0x1f29 start + 41

Thread 1:
0   libSystem.B.dylib0x9000a5c7 mach_msg_trap + 7
1   com.apple.CoreFoundation 0x9082369a CFRunLoopRunSpecific + 2014
2   com.apple.CoreFoundation 0x90822eb5 CFRunLoopRunInMode + 61
3   com.apple.Foundation 0x92778559 -[NSConnection 
sendInvocation:] + 2126
4   com.apple.Foundation 0x9272f324 
-[NSObject(NSForwardInvocation) forward::] + 469
5   libobjc.A.dylib  0x90a51ba1 _objc_msgForward + 49
6   com.apple.Foundation 0x9277798b -[NSDistantObject 
methodSignatureForSelector:] + 211
7   com.apple.Foundation 0x9272f1b0 
-[NSObject(NSForwardInvocation) forward::] + 97
8   libobjc.A.dylib  0x90a51ba1 _objc_msgForward + 49
9   org.R-project.R  0xa596 -[RController readThread:] + 
1609 (crt.c:305)
10  com.apple.Foundation 0x927291b0 forkThreadForFunction + 123
11  libSystem.B.dylib0x90024b07 _pthread_body + 84

Thread 2:
0   libSystem.B.dylib0x900251a7 semaphore_wait_signal_trap + 7
1   com.apple.Foundation 0x9277f008 -[NSConditionLock 
lockWhenCondition:] + 39
2   com.apple.AppKit 0x9345a374 -[NSUIHeartBeat 
_heartBeatThread:] + 377
3   com.apple.Foundation 0x927291b0 forkThreadForFunction + 123
4   libSystem.B.dylib0x90024b07 _pthread_body + 84

Thread 0 crashed with i386 Thread State:
eax: 0x0032c000ebx: 0x9275c1fe ecx:0x90a5b9f8 edx: 0x15c05020
edi: 0x0212f5e0esi: 0x0212f6f0 ebp:0xb528 esp: 0xb4c0
 ss: 0x002fefl: 0x0246 eip:0x9275c2d3  cs: 0x0027
 ds: 0x002f es: 0x002f  fs:0x  gs: 0x0037

Binary Images Description:
0x1000 -0x49fff org.R-project.R 1.16 (3198)
/Applications/R.app/Contents/MacOS/R
   0x65000 -0x6cfff libgcc_s.1.0.dylib 
/Library/Frameworks/R.framework/Versions/2.3/Resources/lib/libgcc_s.1.0.dylib
   0x8c000 -0xa9fff libreadline.5.1.dylib 
/Library/Frameworks/R.framework/Versions/2.3/Resources/lib/libreadline.5.1.dylib
  0x205000 -   0x252fff libgfortran.0.dylib 
/Library/Frameworks/R.framework/Versions/2.3/Resources/lib/libgfortran.0.dylib
 0x1008000 -  0x13d libR.dylib 
/Library/Frameworks/R.framewor