HDTenEightyP/NetNews huggingface dataset:
From: rls900@cscgpo.anu.edu.au (Richard Siggs)
Subject: Mobile Modems (cellular phone modems)
Organization: Australian National University
Date: Thu, 9 Apr 92 03:53:52 GMT


	I'm looking for information on the possibility of using a mobile phone
modem. However, I'm unaware that such beasts exist! Does anyone have any tidbits
on any products available which would allow either modems to be connected to 
cellular phones or cellular phones which are able to act as modems?

	Many thanks,

-- 
		Richard Siggs, rls900@cscgpo.anu.edu.au
	Australian National University, Computer Services Centre
    ================================================================
	       The simple negation of an intrinsic "I"
	      is known as Emptiness with respect to self.
    	This emptiness is the ultimate mode of existence of the self,
	    and the experience of that emptiness dispels
	  the false sense of an intrinsic personal identity.
Newsgroups: aus.jobs
From: ju0a+@andrew.cmu.edu (James J. Uzmack)
Newsgroups: aus.stats.s
Subject: S-news subscription
Date: 14 Apr 92 20:27:19 GMT
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
X-Gateway: dmssyd.syd.dms.CSIRO.AU


please subscribew me to s-news. thanks.
D
From: david@zygochloa.anu.edu.au (David Houlder)
Newsgroups: aus.stats.s
Subject: Splus crashing when trying to run sh
Date: 8 Apr 92 07:53:10 GMT
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
X-Gateway: dmssyd.syd.dms.CSIRO.AU

Help!

I have a menu driven tutorial system written in Splus
(running on SPARCstation SLCs under OpenWindows 3.0)
that regularly crashes when Splus tries to do the unix()
function.

The unix() calls succeed if they are made near the start
of Splus, but after a while, the chances of failure increase,
to the point where nearly every session crashes (back to
the > prompt) due to a unix command returning -1. The exit
code is always -1, regardless of what the unix command is.
Often it crashes when trying to remove a file in /tmp,
sometimes it crashes in a sh script I have written to send
PostScript.out to the printer. The system mananger reckons
that there is nothing wrong with the swap space or memory
size.

Sometimes after such a crash, not even the ! escape (e.g. !ls)
at the prompt will work, giving the same -1 exit status.

However, it is possible to start up another Splus process
while the first (crashed) one is still active (and refusing
to do any more sh commands), and the new process will quite
happily do unix() (although eventually it suffers the same
fate as the first one).

My program has a minimum of for loops (everything is done
vectorily if at all possible), and they are all quite small.
The 'menu driver' is a recursive tree-traversal type thing
that ends up calling eval() when it gets to a menu leaf.

Does anyone have any idea whats going on? It doesn't seem
like the whole machine is running out of memory, as the
shell-spawning problem seems to be confined to the one
Splus session.

Any ideas, workarounds, explanations, last-resorts or tips
will be greatly appreciated.
Thanks

David Houlder
Geography Dep't
The Australian National University
D
Newsgroups: aus.stats.s
From: Mrigesh Kshatriya <kshatr@bcu.ubc.ca>
Subject: S+ for pc's and NeXT?
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Mon, 13 Apr 1992 03:37:23 GMT

Hi,
I would like to know if S+ can be run on PCs or NeXT platform.
Please reply directley. Thank-you
Mrigesh


Newsgroups: aus.stats.s
From: bill@statsci.com (Bill Dunlap)
Subject: Re:  Splus crashing when trying to run sh
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Wed, 8 Apr 1992 19:20:43 GMT

> I have a menu driven tutorial system written in Splus
> (running on SPARCstation SLCs under OpenWindows 3.0)
> that regularly crashes when Splus tries to do the unix()
> function.
> 
> The unix() calls succeed if they are made near the start
> of Splus, but after a while, the chances of failure increase,
> to the point where nearly every session crashes (back to
> the > prompt) due to a unix command returning -1. The exit
> code is always -1, regardless of what the unix command is.

The short answer is that calling unix() with the 'output.to.S' argument
set to F will help.  If you need the text generated by the unix command
you must set output.to.S to T, but for removing files and the like, it
may be set to F (and in that case you may check the exit status of the
unix command to make sure it succeeded).

This will help on machines running recent versions of SunOS and the
problem may not occur on older versions of SunOS or other operating
systems.

***Technical stuff follows***

The problem arises from the fact that there are two version of the
'fork' system call, used in unix to generate a new process.  Both
'fork' and 'vfork' (virtual fork) create a new copy of the current
process.  When a program calls either of these it usually calls 'exec'
soon afterward to start running a different program.  vfork() takes
advantage of this and does not really make a new copy of the current
process but just pretends to.  It gets away with this as long as you
call exec() soon.  'fork' actually makes the new process.  When you
make a new process you must make sure there is enough room for it
so fork() will fail if there is not enough room for 2 copies of the
current Splus process.  Since vfork doesn't really create a new process
it will fail only when there isn't enough room for Splus and the new
program (which is usually smaller than Splus).

On all machines the Splus function unix(..., output=T) calls popen(3)
and unix(..., output=F) call system(3), both of these are in the standard
C library supplied with the operating system.  On SunOS 4.x popen calls
vfork and system calls fork.  On other operating systems both may call
vfork or both may call fork.  It is not something most operating system
vendors seem to pay attention to.

	Bill
 ------------------------------------------------------------------
 Bill Dunlap                           2043 Mt Vernon-Big Lake Road
 Statistical Sciences, Inc             Mount Vernon, WA 98273
 bill@statsci.com                      206-428-8052 or 8146
Newsgroups: aus.stats.s
From: rapacchi@frgren81.BitNet
Subject: S on IBM RS/6000
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Tue, 7 Apr 1992 17:01:51 GMT

Has anyone succeeded in implementing S (version 1991) on a IBM RS/6000,
under Aix 3.1.5 with Fortran 2.0?
 
We have many compilation errors with Fortran programs (e.g. dodef.f)
even in C (e.g. c_support.c).
 
Thank you for your help
 
        Bernard Rapacchi
        University of Grenoble
        Centre Interuniversitaire de
        Calcul de Grenoble
        BP 53 X
        F-38041 GRENOBLE CEDEX
 
        Tel : (33) 76-51-48-18
        Fax : (33) 76-42-11-71
From: jmc@research.att.com
Newsgroups: aus.stats.s
Subject: summary.aov, summary.lm with weights
Date: 10 Apr 92 15:39:13 GMT
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
X-Gateway: dmssyd.syd.dms.CSIRO.AU

The problems with weighted models in the August 1991 release were
indeed confusion over what kind of residuals were computed.
The summary methods have been fixed for some time and will appear corrected
in the 1992 release of S which should come, we hope, within a few weeks.
Please don't try to fix them based on the advice offered in the
mail to S-news---that's likely to compound the confusion.

Since the summary methods operate at the level of the numerical fitting, they
should (and now do) use object$residuals.  We were trying to "do as we say"
by using the residuals() function instead. 
For summary.lm, changing line 12 to read
        resid <- object$residuals
instead of
	resid <- residuals(object)
should give you a temporary fix.  For summary.aov, MOST cases can be fixed by
adding two lines and removing one as shown by the diff output below.
However, the claims.fit example is complicated by the na.action, and won't
come out right with this change alone.  Best hang in there for the 1992 release.
For those who really want to prove out the revision on the claims example,
first make a new data frame with the bad rows omitted:
	new.claims <- claims[-c(12, 15, 16, 32, 80),]
	new.fit <- update(claims.fit, data=new.claims)
Then the revised summary.aov should work:
> summary.aov(new.fit)
           Df Sum of Sq Mean Sq F Value     Pr(F) 
      age   7   5618930  802704  2.1843 0.0410371
     type   3  12110810 4036937 10.9850 0.0000023
  car.age   3   6987861 2329287  6.3383 0.0005303
Residuals 109  40056968  367495

The diff for summary.aov:
***************
*** 5,10 ****
--- 5,12 ----
        asgn <- object$R.assign
        if(is.null(asgn))asgn <- object$assign
        resid <- object$residuals
+       wt <- object$weights
+       if(!is.null(wt)) resid <- resid * wt ^ .5
        if(is.null(effects)) {
                df <- nterms <- neff <- 0
                ss <- ms <- alleff <- numeric(0)
***************
*** 34,40 ****
        if(is.null(df.res))
                df.res <- nobs - length(unlist(asgn))
        if(df.res > 0) {
-               resid <- object$resid
                nterms <- nterms + 1
                df[nterms] <- df.res
                ss[nterms] <- sum(resid^2)
--- 36,41 ----


=======================================================
 John M. Chambers                jmc@research.att.com
 AT&T Bell Labs, Room 2C-282     office: (908)582-2681
 600 Mountain Avenue             fax:    (908)582-3340
 Murray Hill, NJ  07974-2070
=======================================================
D
From: carey@h2sun4.sph.jhu.edu ( V. Carey )
Newsgroups: aus.stats.s
Subject: multiple random number streams
Date: 8 Apr 92 07:59:14 GMT
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
X-Gateway: dmssyd.syd.dms.CSIRO.AU

If you want to split a simulation up across several
machines, you need to make sure that the random
number streams are independent.  In fact, it is
important to make sure that the seed with which
machine 2's simulation is started is "far enough"
from the seed with which machine 1's simulation
is started so that machine 2 never encounters a
seed that was produced by machine 1.

It would be useful in this context to know a set
of seeds that are distant from one another.  If
I will only generate N million deviates on
machine 1's simulation, it would suffice to know
the seed N million generations away from the 
initial seed.  This seed could be used to start
machine 2, and it would be guaranteed that
machine 2 will not reproduce any of the sequences
machine 1 produced (if the period of the generator
is greater than, for this example, N million).

I know of no discussions of this problem.  Perhaps
it is unwise to split up simulations across machines.
Or perhaps someone has a table of distant seeds
for this purpose.  I made one a long time ago, but
I lost it, and it was before I knew of S-news.  I
would like to know how others address this concern.
Thanks.
D
Newsgroups: aus.stats.s
From: tibs@utstat.toronto.edu
Subject: problem with dyn.load2
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Tue, 7 Apr 1992 19:42:48 GMT


dyn.load2, on an IRIS 4D/220 running IRIX 4.0.1, produces an error

gp relocation out-of-range errors have occured and bad object file produced 

etc etc

Does anyone know how to fix this?

Rob Tibshirani
Newsgroups: aus.stats.s
From: David Ragozin <rag@ms.washington.edu>
Subject: Re:  misc questions
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Tue, 7 Apr 1992 16:58:22 GMT

Don MacQueen asks(among other things):
> 
> Item 1:
> 
> format(.1234) gives
> ".1234"
> 
> format(.0005) gives
> "5e-04"
> 
> How can I get ".0005" ?
> 
> Yes, I know that format(paste(.0005)) will do it,
> but then format(paste(.07)) gives "0.070000000001"
> which I don't want. And I need something that works for
> both cases.

Here is one "kludge". If you have a number (or vector) x which you wan't
to format with, say, 4 digits following the decimal place, and you know that
all(abs(x)<1) is true, try:
that then

X<-round(c(.1234,x),4) # any number with 4 non-zero digits will do for .1234
formatted.x<-format(X)[-1]

The extension to get more or less digits should be fairly clear, except that
if you want more than 6 digits you must reset the `digits' option.

Of course this gives ".0700" when x is .07 - hopefully that's OK.

Prof. David Ragozin,      Dept. of Mathematics  Consultant to 
Univ. of Washington, GN-50, Seattle, WA. 98195  Statistical Sciences, Inc.
rag@coco.ms.washington.edu      (206)-543-1148  (206)-283-8802 rag@statsci.com

Newsgroups: aus.stats.s
From: ripley@stats.ox.ac.uk (Prof. Brian Ripley)
Subject: Re: multiple random number streams
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Wed, 8 Apr 1992 13:24:32 GMT

V.Carey asserts:

`If you want to split a simulation up across several machines, you need
to make sure that the random number streams are independent.  In fact,
it is important to make sure that the seed with which machine 2's
simulation is started is "far enough" from the seed with which machine
1's simulation is started so that machine 2 never encounters a seed
that was produced by machine 1.'

This sort of assertion is rather common in discussions in OR books.  I
believe it is fundamentally mistaken, for two reasons. Depending on
what you are doing, you may be enforcing sampling without replacement,
which isn't independence. Much more importantly, seeds N apart may give
quite highly dependent random numbers. Pseudo-random number generators
work by making numbers close together look independent, and so push the
dependencies enforced by a finite-state machine to numbers far apart.

If the period of the random number generator is long enough, choosing
`random' seeds is very unlikely to give any overlap.  More serious
problems arise with synchronous parallel processors.  For these
see the articles by Bill Eddy and myself in J. Comput. Appl. Math.
31(1), 1990. These include some fast ways to generate seeds N
apart, for both congruential and shift-register generators, for
certain N (e.g. powers of 2).

I presume no one is going to actually use N million random deviates in
S for integer N. It's far too slow for my patience! (I know that one
can generate them fast, it's the subsequent calculations which are
slow.  A quick test suggests about 1 million/min on a SunSparc 1.) In
any case, the S generator is not a pure congruential, so the concept of
`distant seeds' is less clear, but could be calculated.  Unfortunately
the shift-register part is not maximal period, so the theory
does not apply.

If despite this you really want a table, A.M. Law & W.D. Kelton (1991),
Simulation modeling and analysis,  on p.449 have 100 seeds 100,000
apart for the generator

X_i = 630,360,016 X_{i-1} mod 2^{31}-1

and for such generators it is easy to calulate a^{2^n} mod M and
hence find seeds 2^n apart.

.----------------------------------------------------.
|      Prof. Brian D. Ripley                         |
|      Dept. of Statistics,                          |
|      University of Oxford,                         |
|      1 South Parks Road,                           |
|      Oxford OX1 3TG, UK                            |
|                                                    |
|      +44 865 272861 (self) +44 865 272860 (secr)   |
|      +44 865 272595 (fax)                          |
|      ripley@uk.ac.ox.stats (JANET)                 |
|      ripley@stats.ox.ac.uk (Internet)              |
|      also ripley@uk.ac.ox.vax                      |
`----------------------------------------------------'
From: bajajk@topaz.ucq.edu.au
Newsgroups: aus.stats.s
Subject: <None>
Date: 7 Apr 92 17:11:19 AET
Organization: University of Central Queensland, Australia


Newsgroups: aus.stats.s
From: dadams@cherry.cray.com (David Adams)
Subject: principal component analysis
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Tue, 7 Apr 1992 16:59:11 GMT

Has anyone written code to do principal
component analysis?

-david adams      dadams@cray.com
_______________________________________________________________________
member--Minnesotans for Global Warming.


Newsgroups: aus.stats.s
From: Peter Thomson <peter@isor.vuw.ac.nz>
Subject: Weighted regression
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Thu, 9 Apr 1992 22:02:55 GMT


We are currently using S-PLUS 3.0 to fit a weighted regression model and
are having difficulties with the residual sum of squares.  The
problem can be replicated by repeating the claims data analysis given
on p111 of "Statistical Models in S".  This is given below.

> claims.fit <- lm(cost ~ age + type + car.age, claims,
+ weights = number, na.action = na.omit)
> summary.aov(claims.fit)
           Df Sum of Sq Mean Sq F Value Pr(F) 
      age   7   5618930  802704  62.801     0
     type   3  12110810 4036937 315.835     0
  car.age   3   6987861 2329287 182.235     0
Residuals 109   1393216   12782 

The output is not the same as that given in the book. In particular,the
residual sum of squares appears to be correctly given in the book, but not
in the above.

What is going wrong?  Any comments, suggestions etc would be gratefully
received.


Peter Thomson

Institute of Statistics and Operations Research
Victoria University of Wellington
New Zealand

email: peter@isor.vuw.ac.nz
Newsgroups: aus.stats.s
From: rolf@math.unb.ca (Rolf Turner)
Subject: Formatting numbers.
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Tue, 7 Apr 1992 21:51:49 GMT


Don MacQueen (macq@miguel.llnl.gov) wanted something ``that is very
general and consistently well behaved'' to format numbers for
printing.  I think the following function ``decode'' should do the
trick; it's a bit of a kludge and it ONLY WORKS ON SCALARS.  Possibly
it could be ``vectorized'' but that would probably make it even more
kludgey.

Note that ``decode'' calls on two other functions, also given below.

					cheers,

						Rolf Turner
						rolf@math.unb.ca

Save the following as a file, and source it:

=============================================================================

decode<-function(x, ndig = ndec(x))
{
# Function ``decode''.
	x <- round(x * 10^ndig, 0)
	y <- paste(digits(x))
	if(len(y) <= ndig)
		y <- c(rep("0", 1 + ndig - len(y)), y)
	y <- append(y, ".", len(y) - ndig)
	paste(y, collapse = "")
}

digits<-function(n, base = 10)
{
# Function ``digits''.
# This function is recursive, so it MUST be named ``digits''.
	if(n == 0)
		return(0)
	else {
		rslt <- c(digits(n %/% base, base), n %% base)
		if(rslt[1] == 0)
			rslt <- rslt[-1]
	}
	rslt
}

ndec<-function(x, nzd = numeric(0), nmax = options()$digits)
{
# Function ``ndec''.
# This function is recursive, so it MUST be named ``ndec''.
	if(length(nzd) == nmax)
		max((1:nmax) * nzd)
	else ndec(10 * x, c(nzd, ifelse(trunc(10 * x) %% 10 > 0, 1, 0)))
}
Newsgroups: aus.stats.s
From: Peter Dalgaard SFE <pd@kubism.ku.dk>
Subject: Re:  Splus crashing when trying to run sh
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Thu, 9 Apr 1992 10:52:56 GMT

Adrian Baddeley writes:

	There is a replacement for the C library routine 
	system() suitable for creating large child processes.
	It is faster, and does not crash for lack of space.

	It is based on making your main program itself the child
	of a small program.....

In the case of SunOS 4.1.1, it is probably a better idea to obtain
and apply the "Jumbo libc patch", that is, patch #100266-04 for
domestic US systems and #100267-04 for the rest of us potential
spies. Among other things, it contains a fix for this one:

	1051619  system() using fork() instead of vfork()

Apply this, relink S(+), and the fork-of-large-process problem
should disappear. I'll try it here, next time I get a chance of
taking the system into single-user mode.

	Peter Dalgaard
	Stat. Res. Unit
	U. Copenhagen

Newsgroups: aus.stats.s
From: zaslavsk@hustat.harvard.edu (Alan M. Zaslavsky)
Subject: Re: multiple random number streams
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Wed, 8 Apr 1992 13:13:47 GMT

When I am running parallel simulations on number of machines (which I
think it is essential to be able to do if you want to make efficient
use of workstation CPU power), I use a function that scrambles the seed
(.Random.seed) by adding some functions of the time of day to a couple
of elements of the seed.  This pretty much guarantees different
starts.  (It also isn't too crucial to me because my parallel
simulations have different parameter values - this might not be good
enough when they are all doing the same thing.)  My assumption is that
this random generator has good chaotic properties, i.e. seeds that look
similar don't come near each other in sequence, but somebody who knows
this theory better might be able to comment on this.  Of course it is
also crucial to be careful about keeping separate the different
versions of .Random.seed in different directories for the different nodes.

newrandom<-function()
{
## scramble up the random seed
        X <- .Random.seed
        X[2] <- as.integer((as.integer(unix("date +%M%S")) + X[2]) %%
                57)
        X[5] <- as.integer((as.integer(unix("date +%M%S")) + X[5]) %%
                56)
        assign(".Random.seed", X, wh = 1)
        runif(20)
        invisible()
}
From: pat@statsci.com (Pat Burns)
Newsgroups: aus.stats.s
Subject: More on type III Sums of Squares
Date: 8 Apr 92 19:55:30 GMT
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
X-Gateway: dmssyd.syd.dms.CSIRO.AU

I should clarify a couple points about my recent posting on type III
errors.

First, the function will not give the proper sums of squares for a 
"cells empty" model.  It will still give an answer, but it will not
be the Sigma-restricted sums of squares.  

Suppose that you have a two-way table with some cells empty, but with 
observations in each row and in each column.  Then my `sigma.restrict'
function will not work properly for the model with interaction; however,
I believe (but I'm not absolutely certain) that the function will give
the appropriate sums of squares for the main effects only model.


Second, in the command

drop1(aov.obj, ~.)

the second argument is necessary because the default behavior of 
`drop1' is to drop each term that is not contained in other terms
of the model.  For instance, `drop1' will not drop the main effects 
corresponding to an interaction term.

Pat Burns
StatSci
pat@statsci.com
D
Newsgroups: aus.stats.s
From: scw@europa.harvard.edu (Steve Wofsy)
Subject: crashes with calls to unix()
X-Gateway: dmssyd.syd.dms.CSIRO.AU
Organization: CSIRO Div. Maths & Stats, CSIRO Div. Applied Physics
Date: Wed, 8 Apr 1992 13:21:13 GMT

It seems to me that .System() should be used for the functions that David Houlder
is trying to perform with unix().  I have never had trouble with dozens of 
calls to .System() to send files to the printer, delete files, etc.
scw
Newsgroups: aus.stats.s